
// -*-c++-*-
//-------------------------------------------------------------------------
//   Copyright 2002-2023 National Technology & Engineering Solutions of
//   Sandia, LLC (NTESS).  Under the terms of Contract DE-NA0003525 with
//   NTESS, the U.S. Government retains certain rights in this software.
//
//   This file is part of the Xyce(TM) Parallel Electrical Simulator.
//
//   Xyce(TM) is free software: you can redistribute it and/or modify
//   it under the terms of the GNU General Public License as published by
//   the Free Software Foundation, either version 3 of the License, or
//   (at your option) any later version.
//
//   Xyce(TM) is distributed in the hope that it will be useful,
//   but WITHOUT ANY WARRANTY; without even the implied warranty of
//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//   GNU General Public License for more details.
//
//   You should have received a copy of the GNU General Public License
//   along with Xyce(TM).
//   If not, see <http://www.gnu.org/licenses/>.
//-------------------------------------------------------------------------

//-----------------------------------------------------------------------------
//
// Purpose        :
//
// Special Notes  : Generated from verilog file bsimcmg.va with ADMS
//                  interface for Xyce 7.7.0
//                  DO NOT EDIT THIS FILE DIRECTLY!  It may be overwritten!
//
// Creator        : admsXml-2.3.7
//
// Creation Date  : Mon, 09 Jan 2023 12:53:25
//
//-----------------------------------------------------------------------------
#ifndef Xyce_N_DEV_ADMSbsimcmg_110_h
#define Xyce_N_DEV_ADMSbsimcmg_110_h


#include <N_DEV_Configuration.h>
#include <N_DEV_Const.h>
#include <N_DEV_DeviceBlock.h>
#include <N_DEV_DeviceInstance.h>
#include <N_DEV_DeviceModel.h>
#include <N_DEV_MOSFET1.h>


// Xyce_config.h contains a VERSION macro from autoconf, and some
// Verilog-A models like to define a variable of that name.  This can be
// a serious problem, and we don't need the VERSION macro.  Get rid of it.
// This must happen *after* all the includes of Xyce headers, each of which
// includes Xyce_config.h.  The implementation file must do this all again
// because it includes more Xyce headers *after* including this one.
#ifdef VERSION
#undef VERSION
#endif

namespace Xyce {
namespace Device {
namespace ADMSbsimcmg_110 {

class Model;
class Instance;
class InstanceSensitivity;

#ifdef Xyce_ADMS_SENSITIVITIES
//-----------------------------------------------------------------------------
// Class         : InstanceSensitivity
//
// Purpose       : This class is a functor for sensitivity
//
// Special Notes :
// Creator       :
// Creation Date :
//-----------------------------------------------------------------------------
class InstanceSensitivity : public baseSensitivity
{
public:
InstanceSensitivity() :
baseSensitivity() {};

virtual ~InstanceSensitivity() {};

virtual void operator()(
const ParameterBase &entity,
const std::string &param,
std::vector<double> & dfdp,
std::vector<double> & dqdp,
std::vector<double> & dbdp,
std::vector<int> & Findices,
std::vector<int> & Qindices,
std::vector<int> & Bindices
) const ;
};

static InstanceSensitivity instSens;


//-----------------------------------------------------------------------------
// Class         : ModelSensitivity
//
// Purpose       : This class is a functor for sensitivity
//
// Special Notes :
// Creator       :
// Creation Date :
//-----------------------------------------------------------------------------
class ModelSensitivity : public baseSensitivity
{
public:
ModelSensitivity() :
baseSensitivity() {};

virtual ~ModelSensitivity() {};

virtual void operator()(
const ParameterBase &entity,
const std::string &param,
std::vector<double> & dfdp,
std::vector<double> & dqdp,
std::vector<double> & dbdp,
std::vector<int> & Findices,
std::vector<int> & Qindices,
std::vector<int> & Bindices
) const ;
};

static ModelSensitivity modSens;
#endif // Xyce_ADMS_SENSITIVITIES

// general purpose free functions
// thermal voltage at kelvin temperature temp)
static inline double adms_vt(const double temp) {return(CONSTKoverQ*temp);};


#ifdef Xyce_ADMS_SENSITIVITIES
//-----------------------------------------------------------------------------
// "structs" to hold instance and model param/variable copies
//-----------------------------------------------------------------------------
class instanceSensStruct
{
public:
// instance parameters
// reals
double instancePar_L;
double d_instancePar_L_dX;
bool instancePar_given_L;
double instancePar_D;
double d_instancePar_D_dX;
bool instancePar_given_D;
double instancePar_TFIN;
double d_instancePar_TFIN_dX;
bool instancePar_given_TFIN;
double instancePar_FPITCH;
double d_instancePar_FPITCH_dX;
bool instancePar_given_FPITCH;
double instancePar_NFIN;
double d_instancePar_NFIN_dX;
bool instancePar_given_NFIN;
double instancePar_ASEO;
double d_instancePar_ASEO_dX;
bool instancePar_given_ASEO;
double instancePar_ADEO;
double d_instancePar_ADEO_dX;
bool instancePar_given_ADEO;
double instancePar_PSEO;
double d_instancePar_PSEO_dX;
bool instancePar_given_PSEO;
double instancePar_PDEO;
double d_instancePar_PDEO_dX;
bool instancePar_given_PDEO;
double instancePar_ASEJ;
double d_instancePar_ASEJ_dX;
bool instancePar_given_ASEJ;
double instancePar_ADEJ;
double d_instancePar_ADEJ_dX;
bool instancePar_given_ADEJ;
double instancePar_PSEJ;
double d_instancePar_PSEJ_dX;
bool instancePar_given_PSEJ;
double instancePar_PDEJ;
double d_instancePar_PDEJ_dX;
bool instancePar_given_PDEJ;
double instancePar_COVS;
double d_instancePar_COVS_dX;
bool instancePar_given_COVS;
double instancePar_COVD;
double d_instancePar_COVD_dX;
bool instancePar_given_COVD;
double instancePar_CGSP;
double d_instancePar_CGSP_dX;
bool instancePar_given_CGSP;
double instancePar_CGDP;
double d_instancePar_CGDP_dX;
bool instancePar_given_CGDP;
double instancePar_CDSP;
double d_instancePar_CDSP_dX;
bool instancePar_given_CDSP;
double instancePar_NRS;
double d_instancePar_NRS_dX;
bool instancePar_given_NRS;
double instancePar_NRD;
double d_instancePar_NRD_dX;
bool instancePar_given_NRD;
double instancePar_LRSD;
double d_instancePar_LRSD_dX;
bool instancePar_given_LRSD;
double instancePar_NFINNOM;
double d_instancePar_NFINNOM_dX;
bool instancePar_given_NFINNOM;
double instancePar_DELVTRAND;
double d_instancePar_DELVTRAND_dX;
bool instancePar_given_DELVTRAND;
double instancePar_U0MULT;
double d_instancePar_U0MULT_dX;
bool instancePar_given_U0MULT;
double instancePar_m;
double d_instancePar_m_dX;
bool instancePar_given_m;
// non-reals(including hidden)
int instancePar_NF;
bool instancePar_given_NF;
int instancePar_NGCON;
bool instancePar_given_NGCON;
// instance variables
// reals
double instanceVar_NFINtotal;
double d_instanceVar_NFINtotal_dX;
double instanceVar_TempLast;
double d_instanceVar_TempLast_dX;
double instanceVar_ids;
double d_instanceVar_ids_dX;
double instanceVar_sigvds;
double instanceVar_qd;
double d_instanceVar_qd_dX;
double instanceVar_qg;
double d_instanceVar_qg_dX;
double instanceVar_qs;
double d_instanceVar_qs_dX;
double instanceVar_qb;
double d_instanceVar_qb_dX;
double instanceVar_ni;
double d_instanceVar_ni_dX;
double instanceVar_epssub;
double d_instanceVar_epssub_dX;
double instanceVar_epsratio;
double d_instanceVar_epsratio_dX;
double instanceVar_Eg;
double d_instanceVar_Eg_dX;
double instanceVar_Eg0;
double d_instanceVar_Eg0_dX;
double instanceVar_Nc;
double d_instanceVar_Nc_dX;
double instanceVar_Leff;
double d_instanceVar_Leff_dX;
double instanceVar_LeffCV;
double d_instanceVar_LeffCV_dX;
double instanceVar_LeffCV_acc;
double d_instanceVar_LeffCV_acc_dX;
double instanceVar_Weff0;
double d_instanceVar_Weff0_dX;
double instanceVar_WeffCV0;
double d_instanceVar_WeffCV0_dX;
double instanceVar_cox;
double d_instanceVar_cox_dX;
double instanceVar_nbody;
double d_instanceVar_nbody_dX;
double instanceVar_phib;
double d_instanceVar_phib_dX;
double instanceVar_deltaPhi;
double d_instanceVar_deltaPhi_dX;
double instanceVar_T0;
double d_instanceVar_T0_dX;
double instanceVar_T1;
double d_instanceVar_T1_dX;
double instanceVar_T2;
double d_instanceVar_T2_dX;
double instanceVar_T3;
double d_instanceVar_T3_dX;
double instanceVar_Vtm;
double d_instanceVar_Vtm_dX;
double instanceVar_Vtm0;
double d_instanceVar_Vtm0_dX;
double instanceVar_Tnom;
double d_instanceVar_Tnom_dX;
double instanceVar_TRatio;
double d_instanceVar_TRatio_dX;
double instanceVar_dvth_temp;
double d_instanceVar_dvth_temp_dX;
double instanceVar_delTemp;
double d_instanceVar_delTemp_dX;
double instanceVar_ThetaSS;
double d_instanceVar_ThetaSS_dX;
double instanceVar_K0_t;
double d_instanceVar_K0_t_dX;
double instanceVar_K0SI_t;
double d_instanceVar_K0SI_t_dX;
double instanceVar_K2SI_t;
double d_instanceVar_K2SI_t_dX;
double instanceVar_K1_t;
double d_instanceVar_K1_t_dX;
double instanceVar_K2SAT_t;
double d_instanceVar_K2SAT_t_dX;
double instanceVar_A1_t;
double d_instanceVar_A1_t_dX;
double instanceVar_A2_t;
double d_instanceVar_A2_t_dX;
double instanceVar_AIGBINV_t;
double d_instanceVar_AIGBINV_t_dX;
double instanceVar_AIGBACC_t;
double d_instanceVar_AIGBACC_t_dX;
double instanceVar_AIGC_t;
double d_instanceVar_AIGC_t_dX;
double instanceVar_AIGS_t;
double d_instanceVar_AIGS_t_dX;
double instanceVar_AIGD_t;
double d_instanceVar_AIGD_t_dX;
double instanceVar_BETA0_t;
double d_instanceVar_BETA0_t_dX;
double instanceVar_SII0_t;
double d_instanceVar_SII0_t_dX;
double instanceVar_BGISL_t;
double d_instanceVar_BGISL_t_dX;
double instanceVar_BGIDL_t;
double d_instanceVar_BGIDL_t_dX;
double instanceVar_igtemp;
double d_instanceVar_igtemp_dX;
double instanceVar_PTWG_t;
double d_instanceVar_PTWG_t_dX;
double instanceVar_PTWGR_t;
double d_instanceVar_PTWGR_t_dX;
double instanceVar_ALPHA0_t;
double d_instanceVar_ALPHA0_t_dX;
double instanceVar_ALPHA1_t;
double d_instanceVar_ALPHA1_t_dX;
double instanceVar_ALPHAII0_t;
double d_instanceVar_ALPHAII0_t_dX;
double instanceVar_ALPHAII1_t;
double d_instanceVar_ALPHAII1_t_dX;
double instanceVar_CJS_t;
double d_instanceVar_CJS_t_dX;
double instanceVar_CJSWS_t;
double d_instanceVar_CJSWS_t_dX;
double instanceVar_CJSWGD_t;
double d_instanceVar_CJSWGD_t_dX;
double instanceVar_CJD_t;
double d_instanceVar_CJD_t_dX;
double instanceVar_CJSWD_t;
double d_instanceVar_CJSWD_t_dX;
double instanceVar_CJSWGS_t;
double d_instanceVar_CJSWGS_t_dX;
double instanceVar_PBS_t;
double d_instanceVar_PBS_t_dX;
double instanceVar_PBSWS_t;
double d_instanceVar_PBSWS_t_dX;
double instanceVar_PBSWGS_t;
double d_instanceVar_PBSWGS_t_dX;
double instanceVar_PBD_t;
double d_instanceVar_PBD_t_dX;
double instanceVar_PBSWD_t;
double d_instanceVar_PBSWD_t_dX;
double instanceVar_PBSWGD_t;
double d_instanceVar_PBSWGD_t_dX;
double instanceVar_JSS_t;
double d_instanceVar_JSS_t_dX;
double instanceVar_JSWS_t;
double d_instanceVar_JSWS_t_dX;
double instanceVar_JSWGS_t;
double d_instanceVar_JSWGS_t_dX;
double instanceVar_JSD_t;
double d_instanceVar_JSD_t_dX;
double instanceVar_JSWD_t;
double d_instanceVar_JSWD_t_dX;
double instanceVar_JSWGD_t;
double d_instanceVar_JSWGD_t_dX;
double instanceVar_JTSS_t;
double d_instanceVar_JTSS_t_dX;
double instanceVar_JTSD_t;
double d_instanceVar_JTSD_t_dX;
double instanceVar_JTSSWS_t;
double d_instanceVar_JTSSWS_t_dX;
double instanceVar_JTSSWD_t;
double d_instanceVar_JTSSWD_t_dX;
double instanceVar_JTSSWGS_t;
double d_instanceVar_JTSSWGS_t_dX;
double instanceVar_JTSSWGD_t;
double d_instanceVar_JTSSWGD_t_dX;
double instanceVar_NJTS_t;
double d_instanceVar_NJTS_t_dX;
double instanceVar_NJTSD_t;
double d_instanceVar_NJTSD_t_dX;
double instanceVar_NJTSSW_t;
double d_instanceVar_NJTSSW_t_dX;
double instanceVar_NJTSSWD_t;
double d_instanceVar_NJTSSWD_t_dX;
double instanceVar_NJTSSWG_t;
double d_instanceVar_NJTSSWG_t_dX;
double instanceVar_NJTSSWGD_t;
double d_instanceVar_NJTSSWGD_t_dX;
double instanceVar_K2_t;
double d_instanceVar_K2_t_dX;
double instanceVar_K0SISAT_t;
double d_instanceVar_K0SISAT_t_dX;
double instanceVar_K2SISAT_t;
double d_instanceVar_K2SISAT_t_dX;
double instanceVar_q0;
double d_instanceVar_q0_dX;
double instanceVar_T11;
double d_instanceVar_T11_dX;
double instanceVar_T12;
double d_instanceVar_T12_dX;
double instanceVar_e0;
double d_instanceVar_e0_dX;
double instanceVar_e1;
double d_instanceVar_e1_dX;
double instanceVar_e2;
double d_instanceVar_e2_dX;
double instanceVar_ETA0_t;
double d_instanceVar_ETA0_t_dX;
double instanceVar_ETA0R_t;
double d_instanceVar_ETA0R_t_dX;
double instanceVar_scl;
double d_instanceVar_scl_dX;
double instanceVar_vbi;
double d_instanceVar_vbi_dX;
double instanceVar_tmp;
double d_instanceVar_tmp_dX;
double instanceVar_Theta_SCE;
double d_instanceVar_Theta_SCE_dX;
double instanceVar_Theta_SW;
double d_instanceVar_Theta_SW_dX;
double instanceVar_Theta_DIBL;
double d_instanceVar_Theta_DIBL_dX;
double instanceVar_Theta_RSCE;
double d_instanceVar_Theta_RSCE_dX;
double instanceVar_Theta_DITS;
double d_instanceVar_Theta_DITS_dX;
double instanceVar_veseff;
double d_instanceVar_veseff_dX;
double instanceVar_Tcen0;
double d_instanceVar_Tcen0_dX;
double instanceVar_Tcen;
double d_instanceVar_Tcen_dX;
double instanceVar_dvch_qm;
double d_instanceVar_dvch_qm_dX;
double instanceVar_E0;
double d_instanceVar_E0_dX;
double instanceVar_E0prime;
double d_instanceVar_E0prime_dX;
double instanceVar_E1;
double d_instanceVar_E1_dX;
double instanceVar_E1prime;
double d_instanceVar_E1prime_dX;
double instanceVar_mx;
double instanceVar_mxprime;
double instanceVar_md;
double instanceVar_mdprime;
double instanceVar_gprime;
double instanceVar_gfactor;
double instanceVar_gam0;
double d_instanceVar_gam0_dX;
double instanceVar_gam1;
double d_instanceVar_gam1_dX;
double instanceVar_kT;
double d_instanceVar_kT_dX;
double instanceVar_qis;
double d_instanceVar_qis_dX;
double instanceVar_qid;
double d_instanceVar_qid_dX;
double instanceVar_qbs;
double d_instanceVar_qbs_dX;
double instanceVar_qba;
double d_instanceVar_qba_dX;
double instanceVar_eta_mu;
double d_instanceVar_eta_mu_dX;
double instanceVar_eta_mu_cv;
double instanceVar_u0;
double d_instanceVar_u0_dX;
double instanceVar_u0r;
double d_instanceVar_u0r_dX;
double instanceVar_UA_t;
double d_instanceVar_UA_t_dX;
double instanceVar_UAR_t;
double d_instanceVar_UAR_t_dX;
double instanceVar_UC_t;
double d_instanceVar_UC_t_dX;
double instanceVar_UCR_t;
double d_instanceVar_UCR_t_dX;
double instanceVar_UCS_t;
double d_instanceVar_UCS_t_dX;
double instanceVar_UD_t;
double d_instanceVar_UD_t_dX;
double instanceVar_UDR_t;
double d_instanceVar_UDR_t_dX;
double instanceVar_U0_t;
double d_instanceVar_U0_t_dX;
double instanceVar_U0R_t;
double d_instanceVar_U0R_t_dX;
double instanceVar_ETAMOB_t;
double d_instanceVar_ETAMOB_t_dX;
double instanceVar_EeffFactor;
double d_instanceVar_EeffFactor_dX;
double instanceVar_Dr;
double d_instanceVar_Dr_dX;
double instanceVar_WeffWRFactor;
double d_instanceVar_WeffWRFactor_dX;
double instanceVar_RSourceGeo;
double d_instanceVar_RSourceGeo_dX;
double instanceVar_RDrainGeo;
double d_instanceVar_RDrainGeo_dX;
double instanceVar_RDSWMIN_i;
double d_instanceVar_RDSWMIN_i_dX;
double instanceVar_RDWMIN_i;
double d_instanceVar_RDWMIN_i_dX;
double instanceVar_RSWMIN_i;
double d_instanceVar_RSWMIN_i_dX;
double instanceVar_Rdrain;
double d_instanceVar_Rdrain_dX;
double instanceVar_Rsource;
double d_instanceVar_Rsource_dX;
double instanceVar_rdstemp;
double d_instanceVar_rdstemp_dX;
double instanceVar_Rdsi;
double d_instanceVar_Rdsi_dX;
double instanceVar_RSDR_t;
double d_instanceVar_RSDR_t_dX;
double instanceVar_RSDRR_t;
double d_instanceVar_RSDRR_t_dX;
double instanceVar_RDDR_t;
double d_instanceVar_RDDR_t_dX;
double instanceVar_RDDRR_t;
double d_instanceVar_RDDRR_t_dX;
double instanceVar_VSAT_t;
double d_instanceVar_VSAT_t_dX;
double instanceVar_VSAT1_t;
double d_instanceVar_VSAT1_t_dX;
double instanceVar_VSAT1R_t;
double d_instanceVar_VSAT1R_t_dX;
double instanceVar_VSATCV_t;
double d_instanceVar_VSATCV_t_dX;
double instanceVar_MEXP_t;
double d_instanceVar_MEXP_t_dX;
double instanceVar_MEXPR_t;
double d_instanceVar_MEXPR_t_dX;
double instanceVar_Tb;
double d_instanceVar_Tb_dX;
double instanceVar_VSAT_a;
double d_instanceVar_VSAT_a_dX;
double instanceVar_Cfr_geo;
double d_instanceVar_Cfr_geo_dX;
double instanceVar_ggeltd;
double d_instanceVar_ggeltd_dX;
double instanceVar_igbinv;
double d_instanceVar_igbinv_dX;
double instanceVar_igsd_mult;
double d_instanceVar_igsd_mult_dX;
double instanceVar_igsd_mult0;
double d_instanceVar_igsd_mult0_dX;
double instanceVar_igbs;
double d_instanceVar_igbs_dX;
double instanceVar_igbd;
double d_instanceVar_igbd_dX;
double instanceVar_igbacc;
double d_instanceVar_igbacc_dX;
double instanceVar_igcs;
double d_instanceVar_igcs_dX;
double instanceVar_igcd;
double d_instanceVar_igcd_dX;
double instanceVar_igisl;
double d_instanceVar_igisl_dX;
double instanceVar_igidl;
double d_instanceVar_igidl_dX;
double instanceVar_vfbsd;
double d_instanceVar_vfbsd_dX;
double instanceVar_igs;
double d_instanceVar_igs_dX;
double instanceVar_igd;
double d_instanceVar_igd_dX;
double instanceVar_Aechvb;
double instanceVar_Bechvb;
double instanceVar_Toxratio;
double d_instanceVar_Toxratio_dX;
double instanceVar_Iii;
double d_instanceVar_Iii_dX;
double instanceVar_cox_acc;
double d_instanceVar_cox_acc_dX;
double instanceVar_qg_acc;
double d_instanceVar_qg_acc_dX;
double instanceVar_qb_acc;
double d_instanceVar_qb_acc_dX;
double instanceVar_qgs_fr;
double d_instanceVar_qgs_fr_dX;
double instanceVar_qgd_fr;
double d_instanceVar_qgd_fr_dX;
double instanceVar_qds_fr;
double d_instanceVar_qds_fr_dX;
double instanceVar_qgs_parasitic;
double d_instanceVar_qgs_parasitic_dX;
double instanceVar_qgd_parasitic;
double d_instanceVar_qgd_parasitic_dX;
double instanceVar_Qes;
double d_instanceVar_Qes_dX;
double instanceVar_Qed;
double d_instanceVar_Qed_dX;
double instanceVar_Qeg;
double d_instanceVar_Qeg_dX;
double instanceVar_csbox;
double d_instanceVar_csbox_dX;
double instanceVar_cdbox;
double d_instanceVar_cdbox_dX;
double instanceVar_cgbox;
double d_instanceVar_cgbox_dX;
double instanceVar_vfbsdcv;
double d_instanceVar_vfbsdcv_dX;
double instanceVar_Ies;
double d_instanceVar_Ies_dX;
double instanceVar_Ied;
double d_instanceVar_Ied_dX;
double instanceVar_Czbs;
double d_instanceVar_Czbs_dX;
double instanceVar_Czbssw;
double d_instanceVar_Czbssw_dX;
double instanceVar_Czbsswg;
double d_instanceVar_Czbsswg_dX;
double instanceVar_Czbd;
double d_instanceVar_Czbd_dX;
double instanceVar_Czbdsw;
double d_instanceVar_Czbdsw_dX;
double instanceVar_Czbdswg;
double d_instanceVar_Czbdswg_dX;
double instanceVar_Isbs;
double d_instanceVar_Isbs_dX;
double instanceVar_Isbd;
double d_instanceVar_Isbd_dX;
double instanceVar_Nvtms;
double d_instanceVar_Nvtms_dX;
double instanceVar_Nvtmd;
double d_instanceVar_Nvtmd_dX;
double instanceVar_SslpRev;
double d_instanceVar_SslpRev_dX;
double instanceVar_IVjsmRev;
double d_instanceVar_IVjsmRev_dX;
double instanceVar_VjsmRev;
double d_instanceVar_VjsmRev_dX;
double instanceVar_SslpFwd;
double d_instanceVar_SslpFwd_dX;
double instanceVar_IVjsmFwd;
double d_instanceVar_IVjsmFwd_dX;
double instanceVar_VjsmFwd;
double d_instanceVar_VjsmFwd_dX;
double instanceVar_XExpBVS;
double d_instanceVar_XExpBVS_dX;
double instanceVar_DslpRev;
double d_instanceVar_DslpRev_dX;
double instanceVar_IVjdmRev;
double d_instanceVar_IVjdmRev_dX;
double instanceVar_VjdmRev;
double d_instanceVar_VjdmRev_dX;
double instanceVar_DslpFwd;
double d_instanceVar_DslpFwd_dX;
double instanceVar_IVjdmFwd;
double d_instanceVar_IVjdmFwd_dX;
double instanceVar_VjdmFwd;
double d_instanceVar_VjdmFwd_dX;
double instanceVar_XExpBVD;
double d_instanceVar_XExpBVD_dX;
double instanceVar_igentemp;
double d_instanceVar_igentemp_dX;
double instanceVar_idsgen;
double d_instanceVar_idsgen_dX;
double instanceVar_LINTIGEN_i;
double d_instanceVar_LINTIGEN_i_dX;
double instanceVar_LINTNOI_i;
double d_instanceVar_LINTNOI_i_dX;
double instanceVar_litl;
double d_instanceVar_litl_dX;
double instanceVar_FNPowerAt1Hz;
double d_instanceVar_FNPowerAt1Hz_dX;
double instanceVar_NTNOI_i;
double d_instanceVar_NTNOI_i_dX;
double instanceVar_Gtnoi;
double d_instanceVar_Gtnoi_dX;
double instanceVar_sid;
double d_instanceVar_sid_dX;
double instanceVar_gspr;
double d_instanceVar_gspr_dX;
double instanceVar_gdpr;
double d_instanceVar_gdpr_dX;
double instanceVar_gamma;
double d_instanceVar_gamma_dX;
double instanceVar_delta;
double d_instanceVar_delta_dX;
double instanceVar_ctnoi;
double d_instanceVar_ctnoi_dX;
double instanceVar_C0;
double d_instanceVar_C0_dX;
double instanceVar_sf;
double d_instanceVar_sf_dX;
double instanceVar_gth;
double d_instanceVar_gth_dX;
double instanceVar_cth;
double d_instanceVar_cth_dX;
double instanceVar_PHIG_i;
double d_instanceVar_PHIG_i_dX;
double instanceVar_CFD_i;
double d_instanceVar_CFD_i_dX;
double instanceVar_CFS_i;
double d_instanceVar_CFS_i_dX;
double instanceVar_COVS_i;
double d_instanceVar_COVS_i_dX;
double instanceVar_COVD_i;
double d_instanceVar_COVD_i_dX;
double instanceVar_CGSO_i;
double d_instanceVar_CGSO_i_dX;
double instanceVar_CGDO_i;
double d_instanceVar_CGDO_i_dX;
double instanceVar_CGSL_i;
double d_instanceVar_CGSL_i_dX;
double instanceVar_CGDL_i;
double d_instanceVar_CGDL_i_dX;
double instanceVar_CGBL_i;
double d_instanceVar_CGBL_i_dX;
double instanceVar_CKAPPAS_i;
double d_instanceVar_CKAPPAS_i_dX;
double instanceVar_CKAPPAD_i;
double d_instanceVar_CKAPPAD_i_dX;
double instanceVar_CKAPPAB_i;
double d_instanceVar_CKAPPAB_i_dX;
double instanceVar_QMFACTOR_i;
double d_instanceVar_QMFACTOR_i_dX;
double instanceVar_QMTCENCV_i;
double d_instanceVar_QMTCENCV_i_dX;
double instanceVar_QMTCENCVA_i;
double d_instanceVar_QMTCENCVA_i_dX;
double instanceVar_KSATIV_i;
double d_instanceVar_KSATIV_i_dX;
double instanceVar_KSATIVR_i;
double d_instanceVar_KSATIVR_i_dX;
double instanceVar_CDSC_i;
double d_instanceVar_CDSC_i_dX;
double instanceVar_CDSCD_i;
double d_instanceVar_CDSCD_i_dX;
double instanceVar_CDSCDR_i;
double d_instanceVar_CDSCDR_i_dX;
double instanceVar_CIT_i;
double d_instanceVar_CIT_i_dX;
double instanceVar_DVT0_i;
double d_instanceVar_DVT0_i_dX;
double instanceVar_CITR_i;
double d_instanceVar_CITR_i_dX;
double instanceVar_PHIN_i;
double d_instanceVar_PHIN_i_dX;
double instanceVar_ETA0_i;
double d_instanceVar_ETA0_i_dX;
double instanceVar_ETA0R_i;
double d_instanceVar_ETA0R_i_dX;
double instanceVar_VSAT_i;
double d_instanceVar_VSAT_i_dX;
double instanceVar_VSATR_i;
double d_instanceVar_VSATR_i_dX;
double instanceVar_VSATR_t;
double d_instanceVar_VSATR_t_dX;
double instanceVar_DVTP0_i;
double d_instanceVar_DVTP0_i_dX;
double instanceVar_DVTP1_i;
double d_instanceVar_DVTP1_i_dX;
double instanceVar_K0_i;
double d_instanceVar_K0_i_dX;
double instanceVar_K01_i;
double d_instanceVar_K01_i_dX;
double instanceVar_K0SI_i;
double d_instanceVar_K0SI_i_dX;
double instanceVar_K0SI1_i;
double d_instanceVar_K0SI1_i_dX;
double instanceVar_K2SI_i;
double d_instanceVar_K2SI_i_dX;
double instanceVar_K2SI1_i;
double d_instanceVar_K2SI1_i_dX;
double instanceVar_PHIBE_i;
double d_instanceVar_PHIBE_i_dX;
double instanceVar_K1_i;
double d_instanceVar_K1_i_dX;
double instanceVar_K11_i;
double d_instanceVar_K11_i_dX;
double instanceVar_K2SAT_i;
double d_instanceVar_K2SAT_i_dX;
double instanceVar_K2SAT1_i;
double d_instanceVar_K2SAT1_i_dX;
double instanceVar_DELTAVSAT_i;
double d_instanceVar_DELTAVSAT_i_dX;
double instanceVar_PSAT_i;
double d_instanceVar_PSAT_i_dX;
double instanceVar_DELTAVSATCV_i;
double d_instanceVar_DELTAVSATCV_i_dX;
double instanceVar_PSATCV_i;
double d_instanceVar_PSATCV_i_dX;
double instanceVar_VSAT1_i;
double d_instanceVar_VSAT1_i_dX;
double instanceVar_VSAT1R_i;
double d_instanceVar_VSAT1R_i_dX;
double instanceVar_PTWG_i;
double d_instanceVar_PTWG_i_dX;
double instanceVar_PTWGR_i;
double d_instanceVar_PTWGR_i_dX;
double instanceVar_VSATCV_i;
double d_instanceVar_VSATCV_i_dX;
double instanceVar_U0_i;
double d_instanceVar_U0_i_dX;
double instanceVar_U0R_i;
double d_instanceVar_U0R_i_dX;
double instanceVar_ETAMOB_i;
double d_instanceVar_ETAMOB_i_dX;
double instanceVar_NGATE_i;
double d_instanceVar_NGATE_i_dX;
double instanceVar_RDSW_i;
double d_instanceVar_RDSW_i_dX;
double instanceVar_PRWGS_i;
double d_instanceVar_PRWGS_i_dX;
double instanceVar_PRWGD_i;
double d_instanceVar_PRWGD_i_dX;
double instanceVar_PDIBL1_i;
double d_instanceVar_PDIBL1_i_dX;
double instanceVar_PDIBL1R_i;
double d_instanceVar_PDIBL1R_i_dX;
double instanceVar_PDIBL2_i;
double d_instanceVar_PDIBL2_i_dX;
double instanceVar_PDIBL2R_i;
double d_instanceVar_PDIBL2R_i_dX;
double instanceVar_DROUT_i;
double d_instanceVar_DROUT_i_dX;
double instanceVar_PVAG_i;
double d_instanceVar_PVAG_i_dX;
double instanceVar_AIGBINV_i;
double d_instanceVar_AIGBINV_i_dX;
double instanceVar_AIGBINV1_i;
double d_instanceVar_AIGBINV1_i_dX;
double instanceVar_BIGBINV_i;
double d_instanceVar_BIGBINV_i_dX;
double instanceVar_CIGBINV_i;
double d_instanceVar_CIGBINV_i_dX;
double instanceVar_EIGBINV_i;
double d_instanceVar_EIGBINV_i_dX;
double instanceVar_NIGBINV_i;
double d_instanceVar_NIGBINV_i_dX;
double instanceVar_AIGBACC_i;
double d_instanceVar_AIGBACC_i_dX;
double instanceVar_AIGBACC1_i;
double d_instanceVar_AIGBACC1_i_dX;
double instanceVar_BIGBACC_i;
double d_instanceVar_BIGBACC_i_dX;
double instanceVar_CIGBACC_i;
double d_instanceVar_CIGBACC_i_dX;
double instanceVar_NIGBACC_i;
double d_instanceVar_NIGBACC_i_dX;
double instanceVar_AIGC_i;
double d_instanceVar_AIGC_i_dX;
double instanceVar_AIGC1_i;
double d_instanceVar_AIGC1_i_dX;
double instanceVar_BIGC_i;
double d_instanceVar_BIGC_i_dX;
double instanceVar_CIGC_i;
double d_instanceVar_CIGC_i_dX;
double instanceVar_PIGCD_i;
double d_instanceVar_PIGCD_i_dX;
double instanceVar_AIGS_i;
double d_instanceVar_AIGS_i_dX;
double instanceVar_AIGS1_i;
double d_instanceVar_AIGS1_i_dX;
double instanceVar_BIGS_i;
double d_instanceVar_BIGS_i_dX;
double instanceVar_CIGS_i;
double d_instanceVar_CIGS_i_dX;
double instanceVar_POXEDGE_i;
double d_instanceVar_POXEDGE_i_dX;
double instanceVar_AIGD_i;
double d_instanceVar_AIGD_i_dX;
double instanceVar_AIGD1_i;
double d_instanceVar_AIGD1_i_dX;
double instanceVar_BIGD_i;
double d_instanceVar_BIGD_i_dX;
double instanceVar_CIGD_i;
double d_instanceVar_CIGD_i_dX;
double instanceVar_AGIDL_i;
double d_instanceVar_AGIDL_i_dX;
double instanceVar_BGIDL_i;
double d_instanceVar_BGIDL_i_dX;
double instanceVar_CGIDL_i;
double d_instanceVar_CGIDL_i_dX;
double instanceVar_EGIDL_i;
double d_instanceVar_EGIDL_i_dX;
double instanceVar_PGIDL_i;
double d_instanceVar_PGIDL_i_dX;
double instanceVar_AGISL_i;
double d_instanceVar_AGISL_i_dX;
double instanceVar_BGISL_i;
double d_instanceVar_BGISL_i_dX;
double instanceVar_CGISL_i;
double d_instanceVar_CGISL_i_dX;
double instanceVar_EGISL_i;
double d_instanceVar_EGISL_i_dX;
double instanceVar_PGISL_i;
double d_instanceVar_PGISL_i_dX;
double instanceVar_ALPHA0_i;
double d_instanceVar_ALPHA0_i_dX;
double instanceVar_ALPHA1_i;
double d_instanceVar_ALPHA1_i_dX;
double instanceVar_ALPHAII0_i;
double d_instanceVar_ALPHAII0_i_dX;
double instanceVar_ALPHAII1_i;
double d_instanceVar_ALPHAII1_i_dX;
double instanceVar_BETA0_i;
double d_instanceVar_BETA0_i_dX;
double instanceVar_BETAII0_i;
double d_instanceVar_BETAII0_i_dX;
double instanceVar_BETAII1_i;
double d_instanceVar_BETAII1_i_dX;
double instanceVar_BETAII2_i;
double d_instanceVar_BETAII2_i_dX;
double instanceVar_ESATII_i;
double d_instanceVar_ESATII_i_dX;
double instanceVar_LII_i;
double d_instanceVar_LII_i_dX;
double instanceVar_SII0_i;
double d_instanceVar_SII0_i_dX;
double instanceVar_SII1_i;
double d_instanceVar_SII1_i_dX;
double instanceVar_SII2_i;
double d_instanceVar_SII2_i_dX;
double instanceVar_SIID_i;
double d_instanceVar_SIID_i_dX;
double instanceVar_TII_i;
double d_instanceVar_TII_i_dX;
double instanceVar_MEXP_i;
double d_instanceVar_MEXP_i_dX;
double instanceVar_MEXPR_i;
double d_instanceVar_MEXPR_i_dX;
double instanceVar_PCLM_i;
double d_instanceVar_PCLM_i_dX;
double instanceVar_PCLMG_i;
double d_instanceVar_PCLMG_i_dX;
double instanceVar_PCLMCV_i;
double d_instanceVar_PCLMCV_i_dX;
double instanceVar_PCLMR_i;
double d_instanceVar_PCLMR_i_dX;
double instanceVar_A1_i;
double d_instanceVar_A1_i_dX;
double instanceVar_A2_i;
double d_instanceVar_A2_i_dX;
double instanceVar_A11_i;
double d_instanceVar_A11_i_dX;
double instanceVar_A21_i;
double d_instanceVar_A21_i_dX;
double instanceVar_K1RSCE_i;
double d_instanceVar_K1RSCE_i_dX;
double instanceVar_DVTSHIFT_i;
double d_instanceVar_DVTSHIFT_i_dX;
double instanceVar_DVTSHIFTR_i;
double d_instanceVar_DVTSHIFTR_i_dX;
double instanceVar_UA_i;
double d_instanceVar_UA_i_dX;
double instanceVar_UC_i;
double d_instanceVar_UC_i_dX;
double instanceVar_EU_i;
double d_instanceVar_EU_i_dX;
double instanceVar_UD_i;
double d_instanceVar_UD_i_dX;
double instanceVar_UCS_i;
double d_instanceVar_UCS_i_dX;
double instanceVar_UAR_i;
double d_instanceVar_UAR_i_dX;
double instanceVar_EUR_i;
double d_instanceVar_EUR_i_dX;
double instanceVar_UCR_i;
double d_instanceVar_UCR_i_dX;
double instanceVar_UDR_i;
double d_instanceVar_UDR_i_dX;
double instanceVar_UA1_i;
double d_instanceVar_UA1_i_dX;
double instanceVar_UA1R_i;
double d_instanceVar_UA1R_i_dX;
double instanceVar_UC1_i;
double d_instanceVar_UC1_i_dX;
double instanceVar_UD1_i;
double d_instanceVar_UD1_i_dX;
double instanceVar_UCSTE_i;
double d_instanceVar_UCSTE_i_dX;
double instanceVar_UTE_i;
double d_instanceVar_UTE_i_dX;
double instanceVar_UTL_i;
double d_instanceVar_UTL_i_dX;
double instanceVar_EMOBT_i;
double d_instanceVar_EMOBT_i_dX;
double instanceVar_UC1R_i;
double d_instanceVar_UC1R_i_dX;
double instanceVar_UD1R_i;
double d_instanceVar_UD1R_i_dX;
double instanceVar_UTER_i;
double d_instanceVar_UTER_i_dX;
double instanceVar_UTLR_i;
double d_instanceVar_UTLR_i_dX;
double instanceVar_PTWGT_i;
double d_instanceVar_PTWGT_i_dX;
double instanceVar_AT_i;
double d_instanceVar_AT_i_dX;
double instanceVar_ATCV_i;
double d_instanceVar_ATCV_i_dX;
double instanceVar_ATR_i;
double d_instanceVar_ATR_i_dX;
double instanceVar_RDW_i;
double d_instanceVar_RDW_i_dX;
double instanceVar_RSW_i;
double d_instanceVar_RSW_i_dX;
double instanceVar_PRT_i;
double d_instanceVar_PRT_i_dX;
double instanceVar_KT1_i;
double d_instanceVar_KT1_i_dX;
double instanceVar_TSS_i;
double d_instanceVar_TSS_i_dX;
double instanceVar_IIT_i;
double d_instanceVar_IIT_i_dX;
double instanceVar_IGT_i;
double d_instanceVar_IGT_i_dX;
double instanceVar_TGIDL_i;
double d_instanceVar_TGIDL_i_dX;
double instanceVar_NTGEN_i;
double d_instanceVar_NTGEN_i_dX;
double instanceVar_AIGEN_i;
double d_instanceVar_AIGEN_i_dX;
double instanceVar_BIGEN_i;
double d_instanceVar_BIGEN_i_dX;
double instanceVar_K0SISAT_i;
double d_instanceVar_K0SISAT_i_dX;
double instanceVar_K0SISAT1_i;
double d_instanceVar_K0SISAT1_i_dX;
double instanceVar_K2SISAT_i;
double d_instanceVar_K2SISAT_i_dX;
double instanceVar_K2SISAT1_i;
double d_instanceVar_K2SISAT1_i_dX;
double instanceVar_K2_i;
double d_instanceVar_K2_i_dX;
double instanceVar_K21_i;
double d_instanceVar_K21_i_dX;
double instanceVar_Cins;
double d_instanceVar_Cins_dX;
double instanceVar_Ach;
double d_instanceVar_Ach_dX;
double instanceVar_Weff_UFCM;
double d_instanceVar_Weff_UFCM_dX;
double instanceVar_qdep;
double d_instanceVar_qdep_dX;
double instanceVar_rc;
double d_instanceVar_rc_dX;
double instanceVar_vth_fixed_factor_Sub;
double d_instanceVar_vth_fixed_factor_Sub_dX;
double instanceVar_vth_fixed_factor_SI;
double d_instanceVar_vth_fixed_factor_SI_dX;
double instanceVar_qm;
double d_instanceVar_qm_dX;
double instanceVar_Qdep_ov_Cins;
double d_instanceVar_Qdep_ov_Cins_dX;
double instanceVar_qi_acc_for_QM;
double d_instanceVar_qi_acc_for_QM_dX;
double instanceVar_fieldnormalizationfactor;
double d_instanceVar_fieldnormalizationfactor_dX;
double instanceVar_auxQMfact;
double instanceVar_QMFACTORCVfinal;
double d_instanceVar_QMFACTORCVfinal_dX;
double instanceVar_psipclamp;
double d_instanceVar_psipclamp_dX;
double instanceVar_sqrtpsip;
double d_instanceVar_sqrtpsip_dX;
double instanceVar_nq;
double d_instanceVar_nq_dX;
double instanceVar_F0;
double d_instanceVar_F0_dX;
// non-reals
int instanceVar_devsign;
};

class modelSensStruct
{
public:
// model parameters
// reals
double modelPar_L;
double d_modelPar_L_dX;
bool modelPar_given_L;
double modelPar_D;
double d_modelPar_D_dX;
bool modelPar_given_D;
double modelPar_TFIN;
double d_modelPar_TFIN_dX;
bool modelPar_given_TFIN;
double modelPar_FPITCH;
double d_modelPar_FPITCH_dX;
bool modelPar_given_FPITCH;
double modelPar_NFIN;
double d_modelPar_NFIN_dX;
bool modelPar_given_NFIN;
double modelPar_ASEO;
double d_modelPar_ASEO_dX;
bool modelPar_given_ASEO;
double modelPar_ADEO;
double d_modelPar_ADEO_dX;
bool modelPar_given_ADEO;
double modelPar_PSEO;
double d_modelPar_PSEO_dX;
bool modelPar_given_PSEO;
double modelPar_PDEO;
double d_modelPar_PDEO_dX;
bool modelPar_given_PDEO;
double modelPar_ASEJ;
double d_modelPar_ASEJ_dX;
bool modelPar_given_ASEJ;
double modelPar_ADEJ;
double d_modelPar_ADEJ_dX;
bool modelPar_given_ADEJ;
double modelPar_PSEJ;
double d_modelPar_PSEJ_dX;
bool modelPar_given_PSEJ;
double modelPar_PDEJ;
double d_modelPar_PDEJ_dX;
bool modelPar_given_PDEJ;
double modelPar_COVS;
double d_modelPar_COVS_dX;
bool modelPar_given_COVS;
double modelPar_COVD;
double d_modelPar_COVD_dX;
bool modelPar_given_COVD;
double modelPar_CGSP;
double d_modelPar_CGSP_dX;
bool modelPar_given_CGSP;
double modelPar_CGDP;
double d_modelPar_CGDP_dX;
bool modelPar_given_CGDP;
double modelPar_CDSP;
double d_modelPar_CDSP_dX;
bool modelPar_given_CDSP;
double modelPar_NRS;
double d_modelPar_NRS_dX;
bool modelPar_given_NRS;
double modelPar_NRD;
double d_modelPar_NRD_dX;
bool modelPar_given_NRD;
double modelPar_LRSD;
double d_modelPar_LRSD_dX;
bool modelPar_given_LRSD;
double modelPar_XL;
double d_modelPar_XL_dX;
bool modelPar_given_XL;
double modelPar_DTEMP;
double d_modelPar_DTEMP_dX;
bool modelPar_given_DTEMP;
double modelPar_DELVTRAND;
double d_modelPar_DELVTRAND_dX;
bool modelPar_given_DELVTRAND;
double modelPar_U0MULT;
double d_modelPar_U0MULT_dX;
bool modelPar_given_U0MULT;
double modelPar_IDS0MULT;
double d_modelPar_IDS0MULT_dX;
bool modelPar_given_IDS0MULT;
double modelPar_LINT;
double d_modelPar_LINT_dX;
bool modelPar_given_LINT;
double modelPar_LL;
double d_modelPar_LL_dX;
bool modelPar_given_LL;
double modelPar_LLN;
double d_modelPar_LLN_dX;
bool modelPar_given_LLN;
double modelPar_DLC;
double d_modelPar_DLC_dX;
bool modelPar_given_DLC;
double modelPar_DLCACC;
double d_modelPar_DLCACC_dX;
bool modelPar_given_DLCACC;
double modelPar_DLBIN;
double d_modelPar_DLBIN_dX;
bool modelPar_given_DLBIN;
double modelPar_LLC;
double d_modelPar_LLC_dX;
bool modelPar_given_LLC;
double modelPar_EOT;
double d_modelPar_EOT_dX;
bool modelPar_given_EOT;
double modelPar_TOXP;
double d_modelPar_TOXP_dX;
bool modelPar_given_TOXP;
double modelPar_EOTBOX;
double d_modelPar_EOTBOX_dX;
bool modelPar_given_EOTBOX;
double modelPar_HFIN;
double d_modelPar_HFIN_dX;
bool modelPar_given_HFIN;
double modelPar_FECH;
double d_modelPar_FECH_dX;
bool modelPar_given_FECH;
double modelPar_DELTAW;
double d_modelPar_DELTAW_dX;
bool modelPar_given_DELTAW;
double modelPar_FECHCV;
double d_modelPar_FECHCV_dX;
bool modelPar_given_FECHCV;
double modelPar_DELTAWCV;
double d_modelPar_DELTAWCV_dX;
bool modelPar_given_DELTAWCV;
double modelPar_NBODY;
double d_modelPar_NBODY_dX;
bool modelPar_given_NBODY;
double modelPar_NBODYN1;
double d_modelPar_NBODYN1_dX;
bool modelPar_given_NBODYN1;
double modelPar_NBODYN2;
double d_modelPar_NBODYN2_dX;
bool modelPar_given_NBODYN2;
double modelPar_NSD;
double d_modelPar_NSD_dX;
bool modelPar_given_NSD;
double modelPar_PHIG;
double d_modelPar_PHIG_dX;
bool modelPar_given_PHIG;
double modelPar_PHIGL;
double d_modelPar_PHIGL_dX;
bool modelPar_given_PHIGL;
double modelPar_PHIGLT;
double d_modelPar_PHIGLT_dX;
bool modelPar_given_PHIGLT;
double modelPar_PHIGN1;
double d_modelPar_PHIGN1_dX;
bool modelPar_given_PHIGN1;
double modelPar_PHIGN2;
double d_modelPar_PHIGN2_dX;
bool modelPar_given_PHIGN2;
double modelPar_EPSROX;
double d_modelPar_EPSROX_dX;
bool modelPar_given_EPSROX;
double modelPar_EPSRSUB;
double d_modelPar_EPSRSUB_dX;
bool modelPar_given_EPSRSUB;
double modelPar_EASUB;
double d_modelPar_EASUB_dX;
bool modelPar_given_EASUB;
double modelPar_NI0SUB;
double d_modelPar_NI0SUB_dX;
bool modelPar_given_NI0SUB;
double modelPar_BG0SUB;
double d_modelPar_BG0SUB_dX;
bool modelPar_given_BG0SUB;
double modelPar_NC0SUB;
double d_modelPar_NC0SUB_dX;
bool modelPar_given_NC0SUB;
double modelPar_NGATE;
double d_modelPar_NGATE_dX;
bool modelPar_given_NGATE;
double modelPar_Imin;
double d_modelPar_Imin_dX;
bool modelPar_given_Imin;
double modelPar_CIT;
double d_modelPar_CIT_dX;
bool modelPar_given_CIT;
double modelPar_CITR;
double d_modelPar_CITR_dX;
bool modelPar_given_CITR;
double modelPar_CDSC;
double d_modelPar_CDSC_dX;
bool modelPar_given_CDSC;
double modelPar_CDSCN1;
double d_modelPar_CDSCN1_dX;
bool modelPar_given_CDSCN1;
double modelPar_CDSCN2;
double d_modelPar_CDSCN2_dX;
bool modelPar_given_CDSCN2;
double modelPar_CDSCD;
double d_modelPar_CDSCD_dX;
bool modelPar_given_CDSCD;
double modelPar_CDSCDN1;
double d_modelPar_CDSCDN1_dX;
bool modelPar_given_CDSCDN1;
double modelPar_CDSCDN2;
double d_modelPar_CDSCDN2_dX;
bool modelPar_given_CDSCDN2;
double modelPar_CDSCDR;
double d_modelPar_CDSCDR_dX;
bool modelPar_given_CDSCDR;
double modelPar_CDSCDRN1;
double d_modelPar_CDSCDRN1_dX;
bool modelPar_given_CDSCDRN1;
double modelPar_CDSCDRN2;
double d_modelPar_CDSCDRN2_dX;
bool modelPar_given_CDSCDRN2;
double modelPar_DVT0;
double d_modelPar_DVT0_dX;
bool modelPar_given_DVT0;
double modelPar_DVT1;
double d_modelPar_DVT1_dX;
bool modelPar_given_DVT1;
double modelPar_DVT1SS;
double d_modelPar_DVT1SS_dX;
bool modelPar_given_DVT1SS;
double modelPar_PHIN;
double d_modelPar_PHIN_dX;
bool modelPar_given_PHIN;
double modelPar_ETA0;
double d_modelPar_ETA0_dX;
bool modelPar_given_ETA0;
double modelPar_ETA0N1;
double d_modelPar_ETA0N1_dX;
bool modelPar_given_ETA0N1;
double modelPar_ETA0N2;
double d_modelPar_ETA0N2_dX;
bool modelPar_given_ETA0N2;
double modelPar_ETA0LT;
double d_modelPar_ETA0LT_dX;
bool modelPar_given_ETA0LT;
double modelPar_TETA0;
double d_modelPar_TETA0_dX;
bool modelPar_given_TETA0;
double modelPar_ETA0R;
double d_modelPar_ETA0R_dX;
bool modelPar_given_ETA0R;
double modelPar_TETA0R;
double d_modelPar_TETA0R_dX;
bool modelPar_given_TETA0R;
double modelPar_DSUB;
double d_modelPar_DSUB_dX;
bool modelPar_given_DSUB;
double modelPar_DVTP0;
double d_modelPar_DVTP0_dX;
bool modelPar_given_DVTP0;
double modelPar_DVTP1;
double d_modelPar_DVTP1_dX;
bool modelPar_given_DVTP1;
double modelPar_ADVTP0;
double d_modelPar_ADVTP0_dX;
bool modelPar_given_ADVTP0;
double modelPar_BDVTP0;
double d_modelPar_BDVTP0_dX;
bool modelPar_given_BDVTP0;
double modelPar_ADVTP1;
double d_modelPar_ADVTP1_dX;
bool modelPar_given_ADVTP1;
double modelPar_BDVTP1;
double d_modelPar_BDVTP1_dX;
bool modelPar_given_BDVTP1;
double modelPar_DVTP2;
double d_modelPar_DVTP2_dX;
bool modelPar_given_DVTP2;
double modelPar_K1RSCE;
double d_modelPar_K1RSCE_dX;
bool modelPar_given_K1RSCE;
double modelPar_LPE0;
double d_modelPar_LPE0_dX;
bool modelPar_given_LPE0;
double modelPar_DVTSHIFT;
double d_modelPar_DVTSHIFT_dX;
bool modelPar_given_DVTSHIFT;
double modelPar_DVTSHIFTR;
double d_modelPar_DVTSHIFTR_dX;
bool modelPar_given_DVTSHIFTR;
double modelPar_THETASCE;
double d_modelPar_THETASCE_dX;
bool modelPar_given_THETASCE;
double modelPar_THETADIBL;
double d_modelPar_THETADIBL_dX;
bool modelPar_given_THETADIBL;
double modelPar_THETASW;
double d_modelPar_THETASW_dX;
bool modelPar_given_THETASW;
double modelPar_NVTM;
double d_modelPar_NVTM_dX;
bool modelPar_given_NVTM;
double modelPar_K0;
double d_modelPar_K0_dX;
bool modelPar_given_K0;
double modelPar_K01;
double d_modelPar_K01_dX;
bool modelPar_given_K01;
double modelPar_K0SI;
double d_modelPar_K0SI_dX;
bool modelPar_given_K0SI;
double modelPar_K0SI1;
double d_modelPar_K0SI1_dX;
bool modelPar_given_K0SI1;
double modelPar_K2SI;
double d_modelPar_K2SI_dX;
bool modelPar_given_K2SI;
double modelPar_K2SI1;
double d_modelPar_K2SI1_dX;
bool modelPar_given_K2SI1;
double modelPar_K0SISAT;
double d_modelPar_K0SISAT_dX;
bool modelPar_given_K0SISAT;
double modelPar_K0SISAT1;
double d_modelPar_K0SISAT1_dX;
bool modelPar_given_K0SISAT1;
double modelPar_K2SISAT;
double d_modelPar_K2SISAT_dX;
bool modelPar_given_K2SISAT;
double modelPar_K2SISAT1;
double d_modelPar_K2SISAT1_dX;
bool modelPar_given_K2SISAT1;
double modelPar_PHIBE;
double d_modelPar_PHIBE_dX;
bool modelPar_given_PHIBE;
double modelPar_K1;
double d_modelPar_K1_dX;
bool modelPar_given_K1;
double modelPar_K11;
double d_modelPar_K11_dX;
bool modelPar_given_K11;
double modelPar_K2SAT;
double d_modelPar_K2SAT_dX;
bool modelPar_given_K2SAT;
double modelPar_K2SAT1;
double d_modelPar_K2SAT1_dX;
bool modelPar_given_K2SAT1;
double modelPar_K2;
double d_modelPar_K2_dX;
bool modelPar_given_K2;
double modelPar_K21;
double d_modelPar_K21_dX;
bool modelPar_given_K21;
double modelPar_QMFACTOR;
double d_modelPar_QMFACTOR_dX;
bool modelPar_given_QMFACTOR;
double modelPar_QMTCENCV;
double d_modelPar_QMTCENCV_dX;
bool modelPar_given_QMTCENCV;
double modelPar_QMTCENCVA;
double d_modelPar_QMTCENCVA_dX;
bool modelPar_given_QMTCENCVA;
double modelPar_AQMTCEN;
double d_modelPar_AQMTCEN_dX;
bool modelPar_given_AQMTCEN;
double modelPar_BQMTCEN;
double d_modelPar_BQMTCEN_dX;
bool modelPar_given_BQMTCEN;
double modelPar_ETAQM;
double d_modelPar_ETAQM_dX;
bool modelPar_given_ETAQM;
double modelPar_QM0;
double d_modelPar_QM0_dX;
bool modelPar_given_QM0;
double modelPar_PQM;
double d_modelPar_PQM_dX;
bool modelPar_given_PQM;
double modelPar_QM0ACC;
double d_modelPar_QM0ACC_dX;
bool modelPar_given_QM0ACC;
double modelPar_PQMACC;
double d_modelPar_PQMACC_dX;
bool modelPar_given_PQMACC;
double modelPar_VSAT;
double d_modelPar_VSAT_dX;
bool modelPar_given_VSAT;
double modelPar_VSATR;
double d_modelPar_VSATR_dX;
bool modelPar_given_VSATR;
double modelPar_VSATN1;
double d_modelPar_VSATN1_dX;
bool modelPar_given_VSATN1;
double modelPar_VSATN2;
double d_modelPar_VSATN2_dX;
bool modelPar_given_VSATN2;
double modelPar_VSATRN1;
double d_modelPar_VSATRN1_dX;
bool modelPar_given_VSATRN1;
double modelPar_VSATRN2;
double d_modelPar_VSATRN2_dX;
bool modelPar_given_VSATRN2;
double modelPar_AVSAT;
double d_modelPar_AVSAT_dX;
bool modelPar_given_AVSAT;
double modelPar_BVSAT;
double d_modelPar_BVSAT_dX;
bool modelPar_given_BVSAT;
double modelPar_VSAT1;
double d_modelPar_VSAT1_dX;
bool modelPar_given_VSAT1;
double modelPar_VSAT1N1;
double d_modelPar_VSAT1N1_dX;
bool modelPar_given_VSAT1N1;
double modelPar_VSAT1N2;
double d_modelPar_VSAT1N2_dX;
bool modelPar_given_VSAT1N2;
double modelPar_VSAT1R;
double d_modelPar_VSAT1R_dX;
bool modelPar_given_VSAT1R;
double modelPar_VSAT1RN1;
double d_modelPar_VSAT1RN1_dX;
bool modelPar_given_VSAT1RN1;
double modelPar_VSAT1RN2;
double d_modelPar_VSAT1RN2_dX;
bool modelPar_given_VSAT1RN2;
double modelPar_AVSAT1;
double d_modelPar_AVSAT1_dX;
bool modelPar_given_AVSAT1;
double modelPar_BVSAT1;
double d_modelPar_BVSAT1_dX;
bool modelPar_given_BVSAT1;
double modelPar_DELTAVSAT;
double d_modelPar_DELTAVSAT_dX;
bool modelPar_given_DELTAVSAT;
double modelPar_PSAT;
double d_modelPar_PSAT_dX;
bool modelPar_given_PSAT;
double modelPar_APSAT;
double d_modelPar_APSAT_dX;
bool modelPar_given_APSAT;
double modelPar_BPSAT;
double d_modelPar_BPSAT_dX;
bool modelPar_given_BPSAT;
double modelPar_KSATIV;
double d_modelPar_KSATIV_dX;
bool modelPar_given_KSATIV;
double modelPar_KSATIVR;
double d_modelPar_KSATIVR_dX;
bool modelPar_given_KSATIVR;
double modelPar_VSATCV;
double d_modelPar_VSATCV_dX;
bool modelPar_given_VSATCV;
double modelPar_AVSATCV;
double d_modelPar_AVSATCV_dX;
bool modelPar_given_AVSATCV;
double modelPar_BVSATCV;
double d_modelPar_BVSATCV_dX;
bool modelPar_given_BVSATCV;
double modelPar_DELTAVSATCV;
double d_modelPar_DELTAVSATCV_dX;
bool modelPar_given_DELTAVSATCV;
double modelPar_PSATCV;
double d_modelPar_PSATCV_dX;
bool modelPar_given_PSATCV;
double modelPar_APSATCV;
double d_modelPar_APSATCV_dX;
bool modelPar_given_APSATCV;
double modelPar_BPSATCV;
double d_modelPar_BPSATCV_dX;
bool modelPar_given_BPSATCV;
double modelPar_MEXP;
double d_modelPar_MEXP_dX;
bool modelPar_given_MEXP;
double modelPar_AMEXP;
double d_modelPar_AMEXP_dX;
bool modelPar_given_AMEXP;
double modelPar_BMEXP;
double d_modelPar_BMEXP_dX;
bool modelPar_given_BMEXP;
double modelPar_MEXPR;
double d_modelPar_MEXPR_dX;
bool modelPar_given_MEXPR;
double modelPar_AMEXPR;
double d_modelPar_AMEXPR_dX;
bool modelPar_given_AMEXPR;
double modelPar_BMEXPR;
double d_modelPar_BMEXPR_dX;
bool modelPar_given_BMEXPR;
double modelPar_PTWG;
double d_modelPar_PTWG_dX;
bool modelPar_given_PTWG;
double modelPar_PTWGR;
double d_modelPar_PTWGR_dX;
bool modelPar_given_PTWGR;
double modelPar_APTWG;
double d_modelPar_APTWG_dX;
bool modelPar_given_APTWG;
double modelPar_BPTWG;
double d_modelPar_BPTWG_dX;
bool modelPar_given_BPTWG;
double modelPar_AT;
double d_modelPar_AT_dX;
bool modelPar_given_AT;
double modelPar_ATR;
double d_modelPar_ATR_dX;
bool modelPar_given_ATR;
double modelPar_ATCV;
double d_modelPar_ATCV_dX;
bool modelPar_given_ATCV;
double modelPar_TMEXP;
double d_modelPar_TMEXP_dX;
bool modelPar_given_TMEXP;
double modelPar_TMEXPR;
double d_modelPar_TMEXPR_dX;
bool modelPar_given_TMEXPR;
double modelPar_PTWGT;
double d_modelPar_PTWGT_dX;
bool modelPar_given_PTWGT;
double modelPar_U0;
double d_modelPar_U0_dX;
bool modelPar_given_U0;
double modelPar_U0R;
double d_modelPar_U0R_dX;
bool modelPar_given_U0R;
double modelPar_U0N1;
double d_modelPar_U0N1_dX;
bool modelPar_given_U0N1;
double modelPar_U0N1R;
double d_modelPar_U0N1R_dX;
bool modelPar_given_U0N1R;
double modelPar_U0N2;
double d_modelPar_U0N2_dX;
bool modelPar_given_U0N2;
double modelPar_U0N2R;
double d_modelPar_U0N2R_dX;
bool modelPar_given_U0N2R;
double modelPar_U0LT;
double d_modelPar_U0LT_dX;
bool modelPar_given_U0LT;
double modelPar_ETAMOB;
double d_modelPar_ETAMOB_dX;
bool modelPar_given_ETAMOB;
double modelPar_UP;
double d_modelPar_UP_dX;
bool modelPar_given_UP;
double modelPar_LPA;
double d_modelPar_LPA_dX;
bool modelPar_given_LPA;
double modelPar_UPR;
double d_modelPar_UPR_dX;
bool modelPar_given_UPR;
double modelPar_LPAR;
double d_modelPar_LPAR_dX;
bool modelPar_given_LPAR;
double modelPar_UA;
double d_modelPar_UA_dX;
bool modelPar_given_UA;
double modelPar_UAR;
double d_modelPar_UAR_dX;
bool modelPar_given_UAR;
double modelPar_AUA;
double d_modelPar_AUA_dX;
bool modelPar_given_AUA;
double modelPar_AUAR;
double d_modelPar_AUAR_dX;
bool modelPar_given_AUAR;
double modelPar_BUA;
double d_modelPar_BUA_dX;
bool modelPar_given_BUA;
double modelPar_BUAR;
double d_modelPar_BUAR_dX;
bool modelPar_given_BUAR;
double modelPar_UC;
double d_modelPar_UC_dX;
bool modelPar_given_UC;
double modelPar_UCR;
double d_modelPar_UCR_dX;
bool modelPar_given_UCR;
double modelPar_EU;
double d_modelPar_EU_dX;
bool modelPar_given_EU;
double modelPar_EUR;
double d_modelPar_EUR_dX;
bool modelPar_given_EUR;
double modelPar_AEU;
double d_modelPar_AEU_dX;
bool modelPar_given_AEU;
double modelPar_AEUR;
double d_modelPar_AEUR_dX;
bool modelPar_given_AEUR;
double modelPar_BEU;
double d_modelPar_BEU_dX;
bool modelPar_given_BEU;
double modelPar_BEUR;
double d_modelPar_BEUR_dX;
bool modelPar_given_BEUR;
double modelPar_UD;
double d_modelPar_UD_dX;
bool modelPar_given_UD;
double modelPar_UDR;
double d_modelPar_UDR_dX;
bool modelPar_given_UDR;
double modelPar_AUD;
double d_modelPar_AUD_dX;
bool modelPar_given_AUD;
double modelPar_AUDR;
double d_modelPar_AUDR_dX;
bool modelPar_given_AUDR;
double modelPar_BUD;
double d_modelPar_BUD_dX;
bool modelPar_given_BUD;
double modelPar_BUDR;
double d_modelPar_BUDR_dX;
bool modelPar_given_BUDR;
double modelPar_UCS;
double d_modelPar_UCS_dX;
bool modelPar_given_UCS;
double modelPar_UTE;
double d_modelPar_UTE_dX;
bool modelPar_given_UTE;
double modelPar_UTER;
double d_modelPar_UTER_dX;
bool modelPar_given_UTER;
double modelPar_UTL;
double d_modelPar_UTL_dX;
bool modelPar_given_UTL;
double modelPar_UTLR;
double d_modelPar_UTLR_dX;
bool modelPar_given_UTLR;
double modelPar_EMOBT;
double d_modelPar_EMOBT_dX;
bool modelPar_given_EMOBT;
double modelPar_UA1;
double d_modelPar_UA1_dX;
bool modelPar_given_UA1;
double modelPar_UA1R;
double d_modelPar_UA1R_dX;
bool modelPar_given_UA1R;
double modelPar_UC1;
double d_modelPar_UC1_dX;
bool modelPar_given_UC1;
double modelPar_UC1R;
double d_modelPar_UC1R_dX;
bool modelPar_given_UC1R;
double modelPar_UD1;
double d_modelPar_UD1_dX;
bool modelPar_given_UD1;
double modelPar_UD1R;
double d_modelPar_UD1R_dX;
bool modelPar_given_UD1R;
double modelPar_UCSTE;
double d_modelPar_UCSTE_dX;
bool modelPar_given_UCSTE;
double modelPar_CHARGEWF;
double d_modelPar_CHARGEWF_dX;
bool modelPar_given_CHARGEWF;
double modelPar_RDSWMIN;
double d_modelPar_RDSWMIN_dX;
bool modelPar_given_RDSWMIN;
double modelPar_RDSW;
double d_modelPar_RDSW_dX;
bool modelPar_given_RDSW;
double modelPar_ARDSW;
double d_modelPar_ARDSW_dX;
bool modelPar_given_ARDSW;
double modelPar_BRDSW;
double d_modelPar_BRDSW_dX;
bool modelPar_given_BRDSW;
double modelPar_RSWMIN;
double d_modelPar_RSWMIN_dX;
bool modelPar_given_RSWMIN;
double modelPar_RSW;
double d_modelPar_RSW_dX;
bool modelPar_given_RSW;
double modelPar_ARSW;
double d_modelPar_ARSW_dX;
bool modelPar_given_ARSW;
double modelPar_BRSW;
double d_modelPar_BRSW_dX;
bool modelPar_given_BRSW;
double modelPar_RDWMIN;
double d_modelPar_RDWMIN_dX;
bool modelPar_given_RDWMIN;
double modelPar_RDW;
double d_modelPar_RDW_dX;
bool modelPar_given_RDW;
double modelPar_ARDW;
double d_modelPar_ARDW_dX;
bool modelPar_given_ARDW;
double modelPar_BRDW;
double d_modelPar_BRDW_dX;
bool modelPar_given_BRDW;
double modelPar_RSDR;
double d_modelPar_RSDR_dX;
bool modelPar_given_RSDR;
double modelPar_RSDRR;
double d_modelPar_RSDRR_dX;
bool modelPar_given_RSDRR;
double modelPar_RDDR;
double d_modelPar_RDDR_dX;
bool modelPar_given_RDDR;
double modelPar_RDDRR;
double d_modelPar_RDDRR_dX;
bool modelPar_given_RDDRR;
double modelPar_PRSDR;
double d_modelPar_PRSDR_dX;
bool modelPar_given_PRSDR;
double modelPar_PRDDR;
double d_modelPar_PRDDR_dX;
bool modelPar_given_PRDDR;
double modelPar_PRWGS;
double d_modelPar_PRWGS_dX;
bool modelPar_given_PRWGS;
double modelPar_PRWGD;
double d_modelPar_PRWGD_dX;
bool modelPar_given_PRWGD;
double modelPar_WR;
double d_modelPar_WR_dX;
bool modelPar_given_WR;
double modelPar_PRT;
double d_modelPar_PRT_dX;
bool modelPar_given_PRT;
double modelPar_TRSDR;
double d_modelPar_TRSDR_dX;
bool modelPar_given_TRSDR;
double modelPar_TRDDR;
double d_modelPar_TRDDR_dX;
bool modelPar_given_TRDDR;
double modelPar_PDIBL1;
double d_modelPar_PDIBL1_dX;
bool modelPar_given_PDIBL1;
double modelPar_PDIBL1R;
double d_modelPar_PDIBL1R_dX;
bool modelPar_given_PDIBL1R;
double modelPar_PDIBL2;
double d_modelPar_PDIBL2_dX;
bool modelPar_given_PDIBL2;
double modelPar_PDIBL2R;
double d_modelPar_PDIBL2R_dX;
bool modelPar_given_PDIBL2R;
double modelPar_DROUT;
double d_modelPar_DROUT_dX;
bool modelPar_given_DROUT;
double modelPar_PVAG;
double d_modelPar_PVAG_dX;
bool modelPar_given_PVAG;
double modelPar_PCLM;
double d_modelPar_PCLM_dX;
bool modelPar_given_PCLM;
double modelPar_PCLMR;
double d_modelPar_PCLMR_dX;
bool modelPar_given_PCLMR;
double modelPar_APCLM;
double d_modelPar_APCLM_dX;
bool modelPar_given_APCLM;
double modelPar_APCLMR;
double d_modelPar_APCLMR_dX;
bool modelPar_given_APCLMR;
double modelPar_BPCLM;
double d_modelPar_BPCLM_dX;
bool modelPar_given_BPCLM;
double modelPar_BPCLMR;
double d_modelPar_BPCLMR_dX;
bool modelPar_given_BPCLMR;
double modelPar_PCLMG;
double d_modelPar_PCLMG_dX;
bool modelPar_given_PCLMG;
double modelPar_PCLMCV;
double d_modelPar_PCLMCV_dX;
bool modelPar_given_PCLMCV;
double modelPar_A1;
double d_modelPar_A1_dX;
bool modelPar_given_A1;
double modelPar_A11;
double d_modelPar_A11_dX;
bool modelPar_given_A11;
double modelPar_A2;
double d_modelPar_A2_dX;
bool modelPar_given_A2;
double modelPar_A21;
double d_modelPar_A21_dX;
bool modelPar_given_A21;
double modelPar_RGEXT;
double d_modelPar_RGEXT_dX;
bool modelPar_given_RGEXT;
double modelPar_RGFIN;
double d_modelPar_RGFIN_dX;
bool modelPar_given_RGFIN;
double modelPar_RSHS;
double d_modelPar_RSHS_dX;
bool modelPar_given_RSHS;
double modelPar_RSHD;
double d_modelPar_RSHD_dX;
bool modelPar_given_RSHD;
double modelPar_HEPI;
double d_modelPar_HEPI_dX;
bool modelPar_given_HEPI;
double modelPar_TSILI;
double d_modelPar_TSILI_dX;
bool modelPar_given_TSILI;
double modelPar_RHOC;
double d_modelPar_RHOC_dX;
bool modelPar_given_RHOC;
double modelPar_RHORSD;
double d_modelPar_RHORSD_dX;
bool modelPar_given_RHORSD;
double modelPar_CRATIO;
double d_modelPar_CRATIO_dX;
bool modelPar_given_CRATIO;
double modelPar_DELTAPRSD;
double d_modelPar_DELTAPRSD_dX;
bool modelPar_given_DELTAPRSD;
double modelPar_LSP;
double d_modelPar_LSP_dX;
bool modelPar_given_LSP;
double modelPar_EPSRSP;
double d_modelPar_EPSRSP_dX;
bool modelPar_given_EPSRSP;
double modelPar_TGATE;
double d_modelPar_TGATE_dX;
bool modelPar_given_TGATE;
double modelPar_TMASK;
double d_modelPar_TMASK_dX;
bool modelPar_given_TMASK;
double modelPar_ASILIEND;
double d_modelPar_ASILIEND_dX;
bool modelPar_given_ASILIEND;
double modelPar_ARSDEND;
double d_modelPar_ARSDEND_dX;
bool modelPar_given_ARSDEND;
double modelPar_PRSDEND;
double d_modelPar_PRSDEND_dX;
bool modelPar_given_PRSDEND;
double modelPar_NSDE;
double d_modelPar_NSDE_dX;
bool modelPar_given_NSDE;
double modelPar_RGEOA;
double d_modelPar_RGEOA_dX;
bool modelPar_given_RGEOA;
double modelPar_RGEOB;
double d_modelPar_RGEOB_dX;
bool modelPar_given_RGEOB;
double modelPar_RGEOC;
double d_modelPar_RGEOC_dX;
bool modelPar_given_RGEOC;
double modelPar_RGEOD;
double d_modelPar_RGEOD_dX;
bool modelPar_given_RGEOD;
double modelPar_RGEOE;
double d_modelPar_RGEOE_dX;
bool modelPar_given_RGEOE;
double modelPar_CGEOA;
double d_modelPar_CGEOA_dX;
bool modelPar_given_CGEOA;
double modelPar_CGEOB;
double d_modelPar_CGEOB_dX;
bool modelPar_given_CGEOB;
double modelPar_CGEOC;
double d_modelPar_CGEOC_dX;
bool modelPar_given_CGEOC;
double modelPar_CGEOD;
double d_modelPar_CGEOD_dX;
bool modelPar_given_CGEOD;
double modelPar_CGEOE;
double d_modelPar_CGEOE_dX;
bool modelPar_given_CGEOE;
double modelPar_AIGBINV;
double d_modelPar_AIGBINV_dX;
bool modelPar_given_AIGBINV;
double modelPar_AIGBINV1;
double d_modelPar_AIGBINV1_dX;
bool modelPar_given_AIGBINV1;
double modelPar_BIGBINV;
double d_modelPar_BIGBINV_dX;
bool modelPar_given_BIGBINV;
double modelPar_CIGBINV;
double d_modelPar_CIGBINV_dX;
bool modelPar_given_CIGBINV;
double modelPar_EIGBINV;
double d_modelPar_EIGBINV_dX;
bool modelPar_given_EIGBINV;
double modelPar_NIGBINV;
double d_modelPar_NIGBINV_dX;
bool modelPar_given_NIGBINV;
double modelPar_AIGBACC;
double d_modelPar_AIGBACC_dX;
bool modelPar_given_AIGBACC;
double modelPar_AIGBACC1;
double d_modelPar_AIGBACC1_dX;
bool modelPar_given_AIGBACC1;
double modelPar_BIGBACC;
double d_modelPar_BIGBACC_dX;
bool modelPar_given_BIGBACC;
double modelPar_CIGBACC;
double d_modelPar_CIGBACC_dX;
bool modelPar_given_CIGBACC;
double modelPar_NIGBACC;
double d_modelPar_NIGBACC_dX;
bool modelPar_given_NIGBACC;
double modelPar_AIGC;
double d_modelPar_AIGC_dX;
bool modelPar_given_AIGC;
double modelPar_AIGC1;
double d_modelPar_AIGC1_dX;
bool modelPar_given_AIGC1;
double modelPar_BIGC;
double d_modelPar_BIGC_dX;
bool modelPar_given_BIGC;
double modelPar_CIGC;
double d_modelPar_CIGC_dX;
bool modelPar_given_CIGC;
double modelPar_PIGCD;
double d_modelPar_PIGCD_dX;
bool modelPar_given_PIGCD;
double modelPar_DLCIGS;
double d_modelPar_DLCIGS_dX;
bool modelPar_given_DLCIGS;
double modelPar_AIGS;
double d_modelPar_AIGS_dX;
bool modelPar_given_AIGS;
double modelPar_AIGS1;
double d_modelPar_AIGS1_dX;
bool modelPar_given_AIGS1;
double modelPar_BIGS;
double d_modelPar_BIGS_dX;
bool modelPar_given_BIGS;
double modelPar_CIGS;
double d_modelPar_CIGS_dX;
bool modelPar_given_CIGS;
double modelPar_DLCIGD;
double d_modelPar_DLCIGD_dX;
bool modelPar_given_DLCIGD;
double modelPar_AIGD;
double d_modelPar_AIGD_dX;
bool modelPar_given_AIGD;
double modelPar_AIGD1;
double d_modelPar_AIGD1_dX;
bool modelPar_given_AIGD1;
double modelPar_BIGD;
double d_modelPar_BIGD_dX;
bool modelPar_given_BIGD;
double modelPar_CIGD;
double d_modelPar_CIGD_dX;
bool modelPar_given_CIGD;
double modelPar_VFBSD;
double d_modelPar_VFBSD_dX;
bool modelPar_given_VFBSD;
double modelPar_VFBSDCV;
double d_modelPar_VFBSDCV_dX;
bool modelPar_given_VFBSDCV;
double modelPar_TOXREF;
double d_modelPar_TOXREF_dX;
bool modelPar_given_TOXREF;
double modelPar_TOXG;
double d_modelPar_TOXG_dX;
bool modelPar_given_TOXG;
double modelPar_NTOX;
double d_modelPar_NTOX_dX;
bool modelPar_given_NTOX;
double modelPar_POXEDGE;
double d_modelPar_POXEDGE_dX;
bool modelPar_given_POXEDGE;
double modelPar_AGISL;
double d_modelPar_AGISL_dX;
bool modelPar_given_AGISL;
double modelPar_BGISL;
double d_modelPar_BGISL_dX;
bool modelPar_given_BGISL;
double modelPar_CGISL;
double d_modelPar_CGISL_dX;
bool modelPar_given_CGISL;
double modelPar_EGISL;
double d_modelPar_EGISL_dX;
bool modelPar_given_EGISL;
double modelPar_PGISL;
double d_modelPar_PGISL_dX;
bool modelPar_given_PGISL;
double modelPar_AGIDL;
double d_modelPar_AGIDL_dX;
bool modelPar_given_AGIDL;
double modelPar_BGIDL;
double d_modelPar_BGIDL_dX;
bool modelPar_given_BGIDL;
double modelPar_CGIDL;
double d_modelPar_CGIDL_dX;
bool modelPar_given_CGIDL;
double modelPar_EGIDL;
double d_modelPar_EGIDL_dX;
bool modelPar_given_EGIDL;
double modelPar_PGIDL;
double d_modelPar_PGIDL_dX;
bool modelPar_given_PGIDL;
double modelPar_ALPHA0;
double d_modelPar_ALPHA0_dX;
bool modelPar_given_ALPHA0;
double modelPar_ALPHA01;
double d_modelPar_ALPHA01_dX;
bool modelPar_given_ALPHA01;
double modelPar_ALPHA1;
double d_modelPar_ALPHA1_dX;
bool modelPar_given_ALPHA1;
double modelPar_ALPHA11;
double d_modelPar_ALPHA11_dX;
bool modelPar_given_ALPHA11;
double modelPar_BETA0;
double d_modelPar_BETA0_dX;
bool modelPar_given_BETA0;
double modelPar_ALPHAII0;
double d_modelPar_ALPHAII0_dX;
bool modelPar_given_ALPHAII0;
double modelPar_ALPHAII01;
double d_modelPar_ALPHAII01_dX;
bool modelPar_given_ALPHAII01;
double modelPar_ALPHAII1;
double d_modelPar_ALPHAII1_dX;
bool modelPar_given_ALPHAII1;
double modelPar_ALPHAII11;
double d_modelPar_ALPHAII11_dX;
bool modelPar_given_ALPHAII11;
double modelPar_BETAII0;
double d_modelPar_BETAII0_dX;
bool modelPar_given_BETAII0;
double modelPar_BETAII1;
double d_modelPar_BETAII1_dX;
bool modelPar_given_BETAII1;
double modelPar_BETAII2;
double d_modelPar_BETAII2_dX;
bool modelPar_given_BETAII2;
double modelPar_ESATII;
double d_modelPar_ESATII_dX;
bool modelPar_given_ESATII;
double modelPar_LII;
double d_modelPar_LII_dX;
bool modelPar_given_LII;
double modelPar_SII0;
double d_modelPar_SII0_dX;
bool modelPar_given_SII0;
double modelPar_SII1;
double d_modelPar_SII1_dX;
bool modelPar_given_SII1;
double modelPar_SII2;
double d_modelPar_SII2_dX;
bool modelPar_given_SII2;
double modelPar_SIID;
double d_modelPar_SIID_dX;
bool modelPar_given_SIID;
double modelPar_IIMOD2CLAMP1;
double d_modelPar_IIMOD2CLAMP1_dX;
bool modelPar_given_IIMOD2CLAMP1;
double modelPar_IIMOD2CLAMP2;
double d_modelPar_IIMOD2CLAMP2_dX;
bool modelPar_given_IIMOD2CLAMP2;
double modelPar_IIMOD2CLAMP3;
double d_modelPar_IIMOD2CLAMP3_dX;
bool modelPar_given_IIMOD2CLAMP3;
double modelPar_EOTACC;
double d_modelPar_EOTACC_dX;
bool modelPar_given_EOTACC;
double modelPar_DELVFBACC;
double d_modelPar_DELVFBACC_dX;
bool modelPar_given_DELVFBACC;
double modelPar_CFS;
double d_modelPar_CFS_dX;
bool modelPar_given_CFS;
double modelPar_CFD;
double d_modelPar_CFD_dX;
bool modelPar_given_CFD;
double modelPar_CGSO;
double d_modelPar_CGSO_dX;
bool modelPar_given_CGSO;
double modelPar_CGDO;
double d_modelPar_CGDO_dX;
bool modelPar_given_CGDO;
double modelPar_CGSL;
double d_modelPar_CGSL_dX;
bool modelPar_given_CGSL;
double modelPar_CGDL;
double d_modelPar_CGDL_dX;
bool modelPar_given_CGDL;
double modelPar_CKAPPAS;
double d_modelPar_CKAPPAS_dX;
bool modelPar_given_CKAPPAS;
double modelPar_CKAPPAD;
double d_modelPar_CKAPPAD_dX;
bool modelPar_given_CKAPPAD;
double modelPar_CGBO;
double d_modelPar_CGBO_dX;
bool modelPar_given_CGBO;
double modelPar_CGBN;
double d_modelPar_CGBN_dX;
bool modelPar_given_CGBN;
double modelPar_CGBL;
double d_modelPar_CGBL_dX;
bool modelPar_given_CGBL;
double modelPar_CKAPPAB;
double d_modelPar_CKAPPAB_dX;
bool modelPar_given_CKAPPAB;
double modelPar_CSDESW;
double d_modelPar_CSDESW_dX;
bool modelPar_given_CSDESW;
double modelPar_CJS;
double d_modelPar_CJS_dX;
bool modelPar_given_CJS;
double modelPar_CJD;
double d_modelPar_CJD_dX;
bool modelPar_given_CJD;
double modelPar_CJSWS;
double d_modelPar_CJSWS_dX;
bool modelPar_given_CJSWS;
double modelPar_CJSWD;
double d_modelPar_CJSWD_dX;
bool modelPar_given_CJSWD;
double modelPar_CJSWGS;
double d_modelPar_CJSWGS_dX;
bool modelPar_given_CJSWGS;
double modelPar_CJSWGD;
double d_modelPar_CJSWGD_dX;
bool modelPar_given_CJSWGD;
double modelPar_PBS;
double d_modelPar_PBS_dX;
bool modelPar_given_PBS;
double modelPar_PBD;
double d_modelPar_PBD_dX;
bool modelPar_given_PBD;
double modelPar_PBSWS;
double d_modelPar_PBSWS_dX;
bool modelPar_given_PBSWS;
double modelPar_PBSWD;
double d_modelPar_PBSWD_dX;
bool modelPar_given_PBSWD;
double modelPar_PBSWGS;
double d_modelPar_PBSWGS_dX;
bool modelPar_given_PBSWGS;
double modelPar_PBSWGD;
double d_modelPar_PBSWGD_dX;
bool modelPar_given_PBSWGD;
double modelPar_MJS;
double d_modelPar_MJS_dX;
bool modelPar_given_MJS;
double modelPar_MJD;
double d_modelPar_MJD_dX;
bool modelPar_given_MJD;
double modelPar_MJSWS;
double d_modelPar_MJSWS_dX;
bool modelPar_given_MJSWS;
double modelPar_MJSWD;
double d_modelPar_MJSWD_dX;
bool modelPar_given_MJSWD;
double modelPar_MJSWGS;
double d_modelPar_MJSWGS_dX;
bool modelPar_given_MJSWGS;
double modelPar_MJSWGD;
double d_modelPar_MJSWGD_dX;
bool modelPar_given_MJSWGD;
double modelPar_SJS;
double d_modelPar_SJS_dX;
bool modelPar_given_SJS;
double modelPar_SJD;
double d_modelPar_SJD_dX;
bool modelPar_given_SJD;
double modelPar_SJSWS;
double d_modelPar_SJSWS_dX;
bool modelPar_given_SJSWS;
double modelPar_SJSWD;
double d_modelPar_SJSWD_dX;
bool modelPar_given_SJSWD;
double modelPar_SJSWGS;
double d_modelPar_SJSWGS_dX;
bool modelPar_given_SJSWGS;
double modelPar_SJSWGD;
double d_modelPar_SJSWGD_dX;
bool modelPar_given_SJSWGD;
double modelPar_MJS2;
double d_modelPar_MJS2_dX;
bool modelPar_given_MJS2;
double modelPar_MJD2;
double d_modelPar_MJD2_dX;
bool modelPar_given_MJD2;
double modelPar_MJSWS2;
double d_modelPar_MJSWS2_dX;
bool modelPar_given_MJSWS2;
double modelPar_MJSWD2;
double d_modelPar_MJSWD2_dX;
bool modelPar_given_MJSWD2;
double modelPar_MJSWGS2;
double d_modelPar_MJSWGS2_dX;
bool modelPar_given_MJSWGS2;
double modelPar_MJSWGD2;
double d_modelPar_MJSWGD2_dX;
bool modelPar_given_MJSWGD2;
double modelPar_JSS;
double d_modelPar_JSS_dX;
bool modelPar_given_JSS;
double modelPar_JSD;
double d_modelPar_JSD_dX;
bool modelPar_given_JSD;
double modelPar_JSWS;
double d_modelPar_JSWS_dX;
bool modelPar_given_JSWS;
double modelPar_JSWD;
double d_modelPar_JSWD_dX;
bool modelPar_given_JSWD;
double modelPar_JSWGS;
double d_modelPar_JSWGS_dX;
bool modelPar_given_JSWGS;
double modelPar_JSWGD;
double d_modelPar_JSWGD_dX;
bool modelPar_given_JSWGD;
double modelPar_NJS;
double d_modelPar_NJS_dX;
bool modelPar_given_NJS;
double modelPar_NJD;
double d_modelPar_NJD_dX;
bool modelPar_given_NJD;
double modelPar_IJTHSFWD;
double d_modelPar_IJTHSFWD_dX;
bool modelPar_given_IJTHSFWD;
double modelPar_IJTHDFWD;
double d_modelPar_IJTHDFWD_dX;
bool modelPar_given_IJTHDFWD;
double modelPar_IJTHSREV;
double d_modelPar_IJTHSREV_dX;
bool modelPar_given_IJTHSREV;
double modelPar_IJTHDREV;
double d_modelPar_IJTHDREV_dX;
bool modelPar_given_IJTHDREV;
double modelPar_BVS;
double d_modelPar_BVS_dX;
bool modelPar_given_BVS;
double modelPar_BVD;
double d_modelPar_BVD_dX;
bool modelPar_given_BVD;
double modelPar_XJBVS;
double d_modelPar_XJBVS_dX;
bool modelPar_given_XJBVS;
double modelPar_XJBVD;
double d_modelPar_XJBVD_dX;
bool modelPar_given_XJBVD;
double modelPar_JTSS;
double d_modelPar_JTSS_dX;
bool modelPar_given_JTSS;
double modelPar_JTSD;
double d_modelPar_JTSD_dX;
bool modelPar_given_JTSD;
double modelPar_JTSSWS;
double d_modelPar_JTSSWS_dX;
bool modelPar_given_JTSSWS;
double modelPar_JTSSWD;
double d_modelPar_JTSSWD_dX;
bool modelPar_given_JTSSWD;
double modelPar_JTSSWGS;
double d_modelPar_JTSSWGS_dX;
bool modelPar_given_JTSSWGS;
double modelPar_JTSSWGD;
double d_modelPar_JTSSWGD_dX;
bool modelPar_given_JTSSWGD;
double modelPar_JTWEFF;
double d_modelPar_JTWEFF_dX;
bool modelPar_given_JTWEFF;
double modelPar_NJTS;
double d_modelPar_NJTS_dX;
bool modelPar_given_NJTS;
double modelPar_NJTSD;
double d_modelPar_NJTSD_dX;
bool modelPar_given_NJTSD;
double modelPar_NJTSSW;
double d_modelPar_NJTSSW_dX;
bool modelPar_given_NJTSSW;
double modelPar_NJTSSWD;
double d_modelPar_NJTSSWD_dX;
bool modelPar_given_NJTSSWD;
double modelPar_NJTSSWG;
double d_modelPar_NJTSSWG_dX;
bool modelPar_given_NJTSSWG;
double modelPar_NJTSSWGD;
double d_modelPar_NJTSSWGD_dX;
bool modelPar_given_NJTSSWGD;
double modelPar_VTSS;
double d_modelPar_VTSS_dX;
bool modelPar_given_VTSS;
double modelPar_VTSD;
double d_modelPar_VTSD_dX;
bool modelPar_given_VTSD;
double modelPar_VTSSWS;
double d_modelPar_VTSSWS_dX;
bool modelPar_given_VTSSWS;
double modelPar_VTSSWD;
double d_modelPar_VTSSWD_dX;
bool modelPar_given_VTSSWD;
double modelPar_VTSSWGS;
double d_modelPar_VTSSWGS_dX;
bool modelPar_given_VTSSWGS;
double modelPar_VTSSWGD;
double d_modelPar_VTSSWGD_dX;
bool modelPar_given_VTSSWGD;
double modelPar_LINTIGEN;
double d_modelPar_LINTIGEN_dX;
bool modelPar_given_LINTIGEN;
double modelPar_NTGEN;
double d_modelPar_NTGEN_dX;
bool modelPar_given_NTGEN;
double modelPar_AIGEN;
double d_modelPar_AIGEN_dX;
bool modelPar_given_AIGEN;
double modelPar_BIGEN;
double d_modelPar_BIGEN_dX;
bool modelPar_given_BIGEN;
double modelPar_XRCRG1;
double d_modelPar_XRCRG1_dX;
bool modelPar_given_XRCRG1;
double modelPar_XRCRG2;
double d_modelPar_XRCRG2_dX;
bool modelPar_given_XRCRG2;
double modelPar_EF;
double d_modelPar_EF_dX;
bool modelPar_given_EF;
double modelPar_EM;
double d_modelPar_EM_dX;
bool modelPar_given_EM;
double modelPar_NOIA;
double d_modelPar_NOIA_dX;
bool modelPar_given_NOIA;
double modelPar_NOIB;
double d_modelPar_NOIB_dX;
bool modelPar_given_NOIB;
double modelPar_NOIC;
double d_modelPar_NOIC_dX;
bool modelPar_given_NOIC;
double modelPar_LINTNOI;
double d_modelPar_LINTNOI_dX;
bool modelPar_given_LINTNOI;
double modelPar_NTNOI;
double d_modelPar_NTNOI_dX;
bool modelPar_given_NTNOI;
double modelPar_TNOIA;
double d_modelPar_TNOIA_dX;
bool modelPar_given_TNOIA;
double modelPar_TNOIB;
double d_modelPar_TNOIB_dX;
bool modelPar_given_TNOIB;
double modelPar_RNOIA;
double d_modelPar_RNOIA_dX;
bool modelPar_given_RNOIA;
double modelPar_RNOIB;
double d_modelPar_RNOIB_dX;
bool modelPar_given_RNOIB;
double modelPar_TNOIC;
double d_modelPar_TNOIC_dX;
bool modelPar_given_TNOIC;
double modelPar_RNOIC;
double d_modelPar_RNOIC_dX;
bool modelPar_given_RNOIC;
double modelPar_SCALEN;
double d_modelPar_SCALEN_dX;
bool modelPar_given_SCALEN;
double modelPar_TNOM;
double d_modelPar_TNOM_dX;
bool modelPar_given_TNOM;
double modelPar_TBGASUB;
double d_modelPar_TBGASUB_dX;
bool modelPar_given_TBGASUB;
double modelPar_TBGBSUB;
double d_modelPar_TBGBSUB_dX;
bool modelPar_given_TBGBSUB;
double modelPar_KT1;
double d_modelPar_KT1_dX;
bool modelPar_given_KT1;
double modelPar_KT1L;
double d_modelPar_KT1L_dX;
bool modelPar_given_KT1L;
double modelPar_TSS;
double d_modelPar_TSS_dX;
bool modelPar_given_TSS;
double modelPar_IIT;
double d_modelPar_IIT_dX;
bool modelPar_given_IIT;
double modelPar_TII;
double d_modelPar_TII_dX;
bool modelPar_given_TII;
double modelPar_TGIDL;
double d_modelPar_TGIDL_dX;
bool modelPar_given_TGIDL;
double modelPar_IGT;
double d_modelPar_IGT_dX;
bool modelPar_given_IGT;
double modelPar_TCJ;
double d_modelPar_TCJ_dX;
bool modelPar_given_TCJ;
double modelPar_TCJSW;
double d_modelPar_TCJSW_dX;
bool modelPar_given_TCJSW;
double modelPar_TCJSWG;
double d_modelPar_TCJSWG_dX;
bool modelPar_given_TCJSWG;
double modelPar_TPB;
double d_modelPar_TPB_dX;
bool modelPar_given_TPB;
double modelPar_TPBSW;
double d_modelPar_TPBSW_dX;
bool modelPar_given_TPBSW;
double modelPar_TPBSWG;
double d_modelPar_TPBSWG_dX;
bool modelPar_given_TPBSWG;
double modelPar_XTIS;
double d_modelPar_XTIS_dX;
bool modelPar_given_XTIS;
double modelPar_XTID;
double d_modelPar_XTID_dX;
bool modelPar_given_XTID;
double modelPar_XTSS;
double d_modelPar_XTSS_dX;
bool modelPar_given_XTSS;
double modelPar_XTSD;
double d_modelPar_XTSD_dX;
bool modelPar_given_XTSD;
double modelPar_XTSSWS;
double d_modelPar_XTSSWS_dX;
bool modelPar_given_XTSSWS;
double modelPar_XTSSWD;
double d_modelPar_XTSSWD_dX;
bool modelPar_given_XTSSWD;
double modelPar_XTSSWGS;
double d_modelPar_XTSSWGS_dX;
bool modelPar_given_XTSSWGS;
double modelPar_XTSSWGD;
double d_modelPar_XTSSWGD_dX;
bool modelPar_given_XTSSWGD;
double modelPar_TNJTS;
double d_modelPar_TNJTS_dX;
bool modelPar_given_TNJTS;
double modelPar_TNJTSD;
double d_modelPar_TNJTSD_dX;
bool modelPar_given_TNJTSD;
double modelPar_TNJTSSW;
double d_modelPar_TNJTSSW_dX;
bool modelPar_given_TNJTSSW;
double modelPar_TNJTSSWD;
double d_modelPar_TNJTSSWD_dX;
bool modelPar_given_TNJTSSWD;
double modelPar_TNJTSSWG;
double d_modelPar_TNJTSSWG_dX;
bool modelPar_given_TNJTSSWG;
double modelPar_TNJTSSWGD;
double d_modelPar_TNJTSSWGD_dX;
bool modelPar_given_TNJTSSWGD;
double modelPar_RTH0;
double d_modelPar_RTH0_dX;
bool modelPar_given_RTH0;
double modelPar_CTH0;
double d_modelPar_CTH0_dX;
bool modelPar_given_CTH0;
double modelPar_WTH0;
double d_modelPar_WTH0_dX;
bool modelPar_given_WTH0;
double modelPar_ASHEXP;
double d_modelPar_ASHEXP_dX;
bool modelPar_given_ASHEXP;
double modelPar_BSHEXP;
double d_modelPar_BSHEXP_dX;
bool modelPar_given_BSHEXP;
double modelPar_ACH_UFCM;
double d_modelPar_ACH_UFCM_dX;
bool modelPar_given_ACH_UFCM;
double modelPar_CINS_UFCM;
double d_modelPar_CINS_UFCM_dX;
bool modelPar_given_CINS_UFCM;
double modelPar_W_UFCM;
double d_modelPar_W_UFCM_dX;
bool modelPar_given_W_UFCM;
double modelPar_TFIN_TOP;
double d_modelPar_TFIN_TOP_dX;
bool modelPar_given_TFIN_TOP;
double modelPar_TFIN_BASE;
double d_modelPar_TFIN_BASE_dX;
bool modelPar_given_TFIN_BASE;
double modelPar_QMFACTORCV;
double d_modelPar_QMFACTORCV_dX;
bool modelPar_given_QMFACTORCV;
double modelPar_ALPHA_UFCM;
double d_modelPar_ALPHA_UFCM_dX;
bool modelPar_given_ALPHA_UFCM;
double modelPar_LMIN;
double d_modelPar_LMIN_dX;
bool modelPar_given_LMIN;
double modelPar_WMIN;
double d_modelPar_WMIN_dX;
bool modelPar_given_WMIN;
double modelPar_LMAX;
double d_modelPar_LMAX_dX;
bool modelPar_given_LMAX;
double modelPar_WMAX;
double d_modelPar_WMAX_dX;
bool modelPar_given_WMAX;
double modelPar_LNBODY;
double d_modelPar_LNBODY_dX;
bool modelPar_given_LNBODY;
double modelPar_NNBODY;
double d_modelPar_NNBODY_dX;
bool modelPar_given_NNBODY;
double modelPar_PNBODY;
double d_modelPar_PNBODY_dX;
bool modelPar_given_PNBODY;
double modelPar_LPHIG;
double d_modelPar_LPHIG_dX;
bool modelPar_given_LPHIG;
double modelPar_NPHIG;
double d_modelPar_NPHIG_dX;
bool modelPar_given_NPHIG;
double modelPar_PPHIG;
double d_modelPar_PPHIG_dX;
bool modelPar_given_PPHIG;
double modelPar_LNGATE;
double d_modelPar_LNGATE_dX;
bool modelPar_given_LNGATE;
double modelPar_NNGATE;
double d_modelPar_NNGATE_dX;
bool modelPar_given_NNGATE;
double modelPar_PNGATE;
double d_modelPar_PNGATE_dX;
bool modelPar_given_PNGATE;
double modelPar_LCIT;
double d_modelPar_LCIT_dX;
bool modelPar_given_LCIT;
double modelPar_NCIT;
double d_modelPar_NCIT_dX;
bool modelPar_given_NCIT;
double modelPar_PCIT;
double d_modelPar_PCIT_dX;
bool modelPar_given_PCIT;
double modelPar_LCITR;
double d_modelPar_LCITR_dX;
bool modelPar_given_LCITR;
double modelPar_NCITR;
double d_modelPar_NCITR_dX;
bool modelPar_given_NCITR;
double modelPar_PCITR;
double d_modelPar_PCITR_dX;
bool modelPar_given_PCITR;
double modelPar_LCDSC;
double d_modelPar_LCDSC_dX;
bool modelPar_given_LCDSC;
double modelPar_NCDSC;
double d_modelPar_NCDSC_dX;
bool modelPar_given_NCDSC;
double modelPar_PCDSC;
double d_modelPar_PCDSC_dX;
bool modelPar_given_PCDSC;
double modelPar_LCDSCD;
double d_modelPar_LCDSCD_dX;
bool modelPar_given_LCDSCD;
double modelPar_NCDSCD;
double d_modelPar_NCDSCD_dX;
bool modelPar_given_NCDSCD;
double modelPar_PCDSCD;
double d_modelPar_PCDSCD_dX;
bool modelPar_given_PCDSCD;
double modelPar_LCDSCDR;
double d_modelPar_LCDSCDR_dX;
bool modelPar_given_LCDSCDR;
double modelPar_NCDSCDR;
double d_modelPar_NCDSCDR_dX;
bool modelPar_given_NCDSCDR;
double modelPar_PCDSCDR;
double d_modelPar_PCDSCDR_dX;
bool modelPar_given_PCDSCDR;
double modelPar_LDVT0;
double d_modelPar_LDVT0_dX;
bool modelPar_given_LDVT0;
double modelPar_NDVT0;
double d_modelPar_NDVT0_dX;
bool modelPar_given_NDVT0;
double modelPar_PDVT0;
double d_modelPar_PDVT0_dX;
bool modelPar_given_PDVT0;
double modelPar_LDVT1;
double d_modelPar_LDVT1_dX;
bool modelPar_given_LDVT1;
double modelPar_NDVT1;
double d_modelPar_NDVT1_dX;
bool modelPar_given_NDVT1;
double modelPar_PDVT1;
double d_modelPar_PDVT1_dX;
bool modelPar_given_PDVT1;
double modelPar_LDVT1SS;
double d_modelPar_LDVT1SS_dX;
bool modelPar_given_LDVT1SS;
double modelPar_NDVT1SS;
double d_modelPar_NDVT1SS_dX;
bool modelPar_given_NDVT1SS;
double modelPar_PDVT1SS;
double d_modelPar_PDVT1SS_dX;
bool modelPar_given_PDVT1SS;
double modelPar_LPHIN;
double d_modelPar_LPHIN_dX;
bool modelPar_given_LPHIN;
double modelPar_NPHIN;
double d_modelPar_NPHIN_dX;
bool modelPar_given_NPHIN;
double modelPar_PPHIN;
double d_modelPar_PPHIN_dX;
bool modelPar_given_PPHIN;
double modelPar_LETA0;
double d_modelPar_LETA0_dX;
bool modelPar_given_LETA0;
double modelPar_NETA0;
double d_modelPar_NETA0_dX;
bool modelPar_given_NETA0;
double modelPar_PETA0;
double d_modelPar_PETA0_dX;
bool modelPar_given_PETA0;
double modelPar_LETA0R;
double d_modelPar_LETA0R_dX;
bool modelPar_given_LETA0R;
double modelPar_NETA0R;
double d_modelPar_NETA0R_dX;
bool modelPar_given_NETA0R;
double modelPar_PETA0R;
double d_modelPar_PETA0R_dX;
bool modelPar_given_PETA0R;
double modelPar_LDSUB;
double d_modelPar_LDSUB_dX;
bool modelPar_given_LDSUB;
double modelPar_NDSUB;
double d_modelPar_NDSUB_dX;
bool modelPar_given_NDSUB;
double modelPar_PDSUB;
double d_modelPar_PDSUB_dX;
bool modelPar_given_PDSUB;
double modelPar_LK1RSCE;
double d_modelPar_LK1RSCE_dX;
bool modelPar_given_LK1RSCE;
double modelPar_NK1RSCE;
double d_modelPar_NK1RSCE_dX;
bool modelPar_given_NK1RSCE;
double modelPar_PK1RSCE;
double d_modelPar_PK1RSCE_dX;
bool modelPar_given_PK1RSCE;
double modelPar_LLPE0;
double d_modelPar_LLPE0_dX;
bool modelPar_given_LLPE0;
double modelPar_NLPE0;
double d_modelPar_NLPE0_dX;
bool modelPar_given_NLPE0;
double modelPar_PLPE0;
double d_modelPar_PLPE0_dX;
bool modelPar_given_PLPE0;
double modelPar_LDVTSHIFT;
double d_modelPar_LDVTSHIFT_dX;
bool modelPar_given_LDVTSHIFT;
double modelPar_NDVTSHIFT;
double d_modelPar_NDVTSHIFT_dX;
bool modelPar_given_NDVTSHIFT;
double modelPar_PDVTSHIFT;
double d_modelPar_PDVTSHIFT_dX;
bool modelPar_given_PDVTSHIFT;
double modelPar_LDVTSHIFTR;
double d_modelPar_LDVTSHIFTR_dX;
bool modelPar_given_LDVTSHIFTR;
double modelPar_NDVTSHIFTR;
double d_modelPar_NDVTSHIFTR_dX;
bool modelPar_given_NDVTSHIFTR;
double modelPar_PDVTSHIFTR;
double d_modelPar_PDVTSHIFTR_dX;
bool modelPar_given_PDVTSHIFTR;
double modelPar_LPHIBE;
double d_modelPar_LPHIBE_dX;
bool modelPar_given_LPHIBE;
double modelPar_NPHIBE;
double d_modelPar_NPHIBE_dX;
bool modelPar_given_NPHIBE;
double modelPar_PPHIBE;
double d_modelPar_PPHIBE_dX;
bool modelPar_given_PPHIBE;
double modelPar_LK0;
double d_modelPar_LK0_dX;
bool modelPar_given_LK0;
double modelPar_NK0;
double d_modelPar_NK0_dX;
bool modelPar_given_NK0;
double modelPar_PK0;
double d_modelPar_PK0_dX;
bool modelPar_given_PK0;
double modelPar_LK01;
double d_modelPar_LK01_dX;
bool modelPar_given_LK01;
double modelPar_NK01;
double d_modelPar_NK01_dX;
bool modelPar_given_NK01;
double modelPar_PK01;
double d_modelPar_PK01_dX;
bool modelPar_given_PK01;
double modelPar_LK0SI;
double d_modelPar_LK0SI_dX;
bool modelPar_given_LK0SI;
double modelPar_NK0SI;
double d_modelPar_NK0SI_dX;
bool modelPar_given_NK0SI;
double modelPar_PK0SI;
double d_modelPar_PK0SI_dX;
bool modelPar_given_PK0SI;
double modelPar_LK0SI1;
double d_modelPar_LK0SI1_dX;
bool modelPar_given_LK0SI1;
double modelPar_NK0SI1;
double d_modelPar_NK0SI1_dX;
bool modelPar_given_NK0SI1;
double modelPar_PK0SI1;
double d_modelPar_PK0SI1_dX;
bool modelPar_given_PK0SI1;
double modelPar_LK1;
double d_modelPar_LK1_dX;
bool modelPar_given_LK1;
double modelPar_NK1;
double d_modelPar_NK1_dX;
bool modelPar_given_NK1;
double modelPar_PK1;
double d_modelPar_PK1_dX;
bool modelPar_given_PK1;
double modelPar_LK11;
double d_modelPar_LK11_dX;
bool modelPar_given_LK11;
double modelPar_NK11;
double d_modelPar_NK11_dX;
bool modelPar_given_NK11;
double modelPar_PK11;
double d_modelPar_PK11_dX;
bool modelPar_given_PK11;
double modelPar_LK2SI;
double d_modelPar_LK2SI_dX;
bool modelPar_given_LK2SI;
double modelPar_NK2SI;
double d_modelPar_NK2SI_dX;
bool modelPar_given_NK2SI;
double modelPar_PK2SI;
double d_modelPar_PK2SI_dX;
bool modelPar_given_PK2SI;
double modelPar_LK2SI1;
double d_modelPar_LK2SI1_dX;
bool modelPar_given_LK2SI1;
double modelPar_NK2SI1;
double d_modelPar_NK2SI1_dX;
bool modelPar_given_NK2SI1;
double modelPar_PK2SI1;
double d_modelPar_PK2SI1_dX;
bool modelPar_given_PK2SI1;
double modelPar_LK0SISAT;
double d_modelPar_LK0SISAT_dX;
bool modelPar_given_LK0SISAT;
double modelPar_NK0SISAT;
double d_modelPar_NK0SISAT_dX;
bool modelPar_given_NK0SISAT;
double modelPar_PK0SISAT;
double d_modelPar_PK0SISAT_dX;
bool modelPar_given_PK0SISAT;
double modelPar_LK0SISAT1;
double d_modelPar_LK0SISAT1_dX;
bool modelPar_given_LK0SISAT1;
double modelPar_NK0SISAT1;
double d_modelPar_NK0SISAT1_dX;
bool modelPar_given_NK0SISAT1;
double modelPar_PK0SISAT1;
double d_modelPar_PK0SISAT1_dX;
bool modelPar_given_PK0SISAT1;
double modelPar_LK2SISAT;
double d_modelPar_LK2SISAT_dX;
bool modelPar_given_LK2SISAT;
double modelPar_NK2SISAT;
double d_modelPar_NK2SISAT_dX;
bool modelPar_given_NK2SISAT;
double modelPar_PK2SISAT;
double d_modelPar_PK2SISAT_dX;
bool modelPar_given_PK2SISAT;
double modelPar_LK2SISAT1;
double d_modelPar_LK2SISAT1_dX;
bool modelPar_given_LK2SISAT1;
double modelPar_NK2SISAT1;
double d_modelPar_NK2SISAT1_dX;
bool modelPar_given_NK2SISAT1;
double modelPar_PK2SISAT1;
double d_modelPar_PK2SISAT1_dX;
bool modelPar_given_PK2SISAT1;
double modelPar_LK2SAT;
double d_modelPar_LK2SAT_dX;
bool modelPar_given_LK2SAT;
double modelPar_NK2SAT;
double d_modelPar_NK2SAT_dX;
bool modelPar_given_NK2SAT;
double modelPar_PK2SAT;
double d_modelPar_PK2SAT_dX;
bool modelPar_given_PK2SAT;
double modelPar_LK2SAT1;
double d_modelPar_LK2SAT1_dX;
bool modelPar_given_LK2SAT1;
double modelPar_NK2SAT1;
double d_modelPar_NK2SAT1_dX;
bool modelPar_given_NK2SAT1;
double modelPar_PK2SAT1;
double d_modelPar_PK2SAT1_dX;
bool modelPar_given_PK2SAT1;
double modelPar_LK2;
double d_modelPar_LK2_dX;
bool modelPar_given_LK2;
double modelPar_NK2;
double d_modelPar_NK2_dX;
bool modelPar_given_NK2;
double modelPar_PK2;
double d_modelPar_PK2_dX;
bool modelPar_given_PK2;
double modelPar_LK21;
double d_modelPar_LK21_dX;
bool modelPar_given_LK21;
double modelPar_NK21;
double d_modelPar_NK21_dX;
bool modelPar_given_NK21;
double modelPar_PK21;
double d_modelPar_PK21_dX;
bool modelPar_given_PK21;
double modelPar_LDVTB;
double d_modelPar_LDVTB_dX;
bool modelPar_given_LDVTB;
double modelPar_NDVTB;
double d_modelPar_NDVTB_dX;
bool modelPar_given_NDVTB;
double modelPar_PDVTB;
double d_modelPar_PDVTB_dX;
bool modelPar_given_PDVTB;
double modelPar_LLPEB;
double d_modelPar_LLPEB_dX;
bool modelPar_given_LLPEB;
double modelPar_NLPEB;
double d_modelPar_NLPEB_dX;
bool modelPar_given_NLPEB;
double modelPar_PLPEB;
double d_modelPar_PLPEB_dX;
bool modelPar_given_PLPEB;
double modelPar_LQMFACTOR;
double d_modelPar_LQMFACTOR_dX;
bool modelPar_given_LQMFACTOR;
double modelPar_NQMFACTOR;
double d_modelPar_NQMFACTOR_dX;
bool modelPar_given_NQMFACTOR;
double modelPar_PQMFACTOR;
double d_modelPar_PQMFACTOR_dX;
bool modelPar_given_PQMFACTOR;
double modelPar_LQMTCENCV;
double d_modelPar_LQMTCENCV_dX;
bool modelPar_given_LQMTCENCV;
double modelPar_NQMTCENCV;
double d_modelPar_NQMTCENCV_dX;
bool modelPar_given_NQMTCENCV;
double modelPar_PQMTCENCV;
double d_modelPar_PQMTCENCV_dX;
bool modelPar_given_PQMTCENCV;
double modelPar_LQMTCENCVA;
double d_modelPar_LQMTCENCVA_dX;
bool modelPar_given_LQMTCENCVA;
double modelPar_NQMTCENCVA;
double d_modelPar_NQMTCENCVA_dX;
bool modelPar_given_NQMTCENCVA;
double modelPar_PQMTCENCVA;
double d_modelPar_PQMTCENCVA_dX;
bool modelPar_given_PQMTCENCVA;
double modelPar_LVSAT;
double d_modelPar_LVSAT_dX;
bool modelPar_given_LVSAT;
double modelPar_NVSAT;
double d_modelPar_NVSAT_dX;
bool modelPar_given_NVSAT;
double modelPar_PVSAT;
double d_modelPar_PVSAT_dX;
bool modelPar_given_PVSAT;
double modelPar_LVSATR;
double d_modelPar_LVSATR_dX;
bool modelPar_given_LVSATR;
double modelPar_NVSATR;
double d_modelPar_NVSATR_dX;
bool modelPar_given_NVSATR;
double modelPar_PVSATR;
double d_modelPar_PVSATR_dX;
bool modelPar_given_PVSATR;
double modelPar_LVSAT1;
double d_modelPar_LVSAT1_dX;
bool modelPar_given_LVSAT1;
double modelPar_NVSAT1;
double d_modelPar_NVSAT1_dX;
bool modelPar_given_NVSAT1;
double modelPar_PVSAT1;
double d_modelPar_PVSAT1_dX;
bool modelPar_given_PVSAT1;
double modelPar_LVSAT1R;
double d_modelPar_LVSAT1R_dX;
bool modelPar_given_LVSAT1R;
double modelPar_NVSAT1R;
double d_modelPar_NVSAT1R_dX;
bool modelPar_given_NVSAT1R;
double modelPar_PVSAT1R;
double d_modelPar_PVSAT1R_dX;
bool modelPar_given_PVSAT1R;
double modelPar_LPSAT;
double d_modelPar_LPSAT_dX;
bool modelPar_given_LPSAT;
double modelPar_NPSAT;
double d_modelPar_NPSAT_dX;
bool modelPar_given_NPSAT;
double modelPar_PPSAT;
double d_modelPar_PPSAT_dX;
bool modelPar_given_PPSAT;
double modelPar_LDELTAVSAT;
double d_modelPar_LDELTAVSAT_dX;
bool modelPar_given_LDELTAVSAT;
double modelPar_NDELTAVSAT;
double d_modelPar_NDELTAVSAT_dX;
bool modelPar_given_NDELTAVSAT;
double modelPar_PDELTAVSAT;
double d_modelPar_PDELTAVSAT_dX;
bool modelPar_given_PDELTAVSAT;
double modelPar_LKSATIV;
double d_modelPar_LKSATIV_dX;
bool modelPar_given_LKSATIV;
double modelPar_NKSATIV;
double d_modelPar_NKSATIV_dX;
bool modelPar_given_NKSATIV;
double modelPar_PKSATIV;
double d_modelPar_PKSATIV_dX;
bool modelPar_given_PKSATIV;
double modelPar_LKSATIVR;
double d_modelPar_LKSATIVR_dX;
bool modelPar_given_LKSATIVR;
double modelPar_NKSATIVR;
double d_modelPar_NKSATIVR_dX;
bool modelPar_given_NKSATIVR;
double modelPar_PKSATIVR;
double d_modelPar_PKSATIVR_dX;
bool modelPar_given_PKSATIVR;
double modelPar_LVSATCV;
double d_modelPar_LVSATCV_dX;
bool modelPar_given_LVSATCV;
double modelPar_NVSATCV;
double d_modelPar_NVSATCV_dX;
bool modelPar_given_NVSATCV;
double modelPar_PVSATCV;
double d_modelPar_PVSATCV_dX;
bool modelPar_given_PVSATCV;
double modelPar_LPSATCV;
double d_modelPar_LPSATCV_dX;
bool modelPar_given_LPSATCV;
double modelPar_NPSATCV;
double d_modelPar_NPSATCV_dX;
bool modelPar_given_NPSATCV;
double modelPar_PPSATCV;
double d_modelPar_PPSATCV_dX;
bool modelPar_given_PPSATCV;
double modelPar_LDELTAVSATCV;
double d_modelPar_LDELTAVSATCV_dX;
bool modelPar_given_LDELTAVSATCV;
double modelPar_NDELTAVSATCV;
double d_modelPar_NDELTAVSATCV_dX;
bool modelPar_given_NDELTAVSATCV;
double modelPar_PDELTAVSATCV;
double d_modelPar_PDELTAVSATCV_dX;
bool modelPar_given_PDELTAVSATCV;
double modelPar_LMEXP;
double d_modelPar_LMEXP_dX;
bool modelPar_given_LMEXP;
double modelPar_NMEXP;
double d_modelPar_NMEXP_dX;
bool modelPar_given_NMEXP;
double modelPar_PMEXP;
double d_modelPar_PMEXP_dX;
bool modelPar_given_PMEXP;
double modelPar_LMEXPR;
double d_modelPar_LMEXPR_dX;
bool modelPar_given_LMEXPR;
double modelPar_NMEXPR;
double d_modelPar_NMEXPR_dX;
bool modelPar_given_NMEXPR;
double modelPar_PMEXPR;
double d_modelPar_PMEXPR_dX;
bool modelPar_given_PMEXPR;
double modelPar_LPTWG;
double d_modelPar_LPTWG_dX;
bool modelPar_given_LPTWG;
double modelPar_NPTWG;
double d_modelPar_NPTWG_dX;
bool modelPar_given_NPTWG;
double modelPar_PPTWG;
double d_modelPar_PPTWG_dX;
bool modelPar_given_PPTWG;
double modelPar_LPTWGR;
double d_modelPar_LPTWGR_dX;
bool modelPar_given_LPTWGR;
double modelPar_NPTWGR;
double d_modelPar_NPTWGR_dX;
bool modelPar_given_NPTWGR;
double modelPar_PPTWGR;
double d_modelPar_PPTWGR_dX;
bool modelPar_given_PPTWGR;
double modelPar_LU0;
double d_modelPar_LU0_dX;
bool modelPar_given_LU0;
double modelPar_NU0;
double d_modelPar_NU0_dX;
bool modelPar_given_NU0;
double modelPar_PU0;
double d_modelPar_PU0_dX;
bool modelPar_given_PU0;
double modelPar_LU0R;
double d_modelPar_LU0R_dX;
bool modelPar_given_LU0R;
double modelPar_NU0R;
double d_modelPar_NU0R_dX;
bool modelPar_given_NU0R;
double modelPar_PU0R;
double d_modelPar_PU0R_dX;
bool modelPar_given_PU0R;
double modelPar_LETAMOB;
double d_modelPar_LETAMOB_dX;
bool modelPar_given_LETAMOB;
double modelPar_NETAMOB;
double d_modelPar_NETAMOB_dX;
bool modelPar_given_NETAMOB;
double modelPar_PETAMOB;
double d_modelPar_PETAMOB_dX;
bool modelPar_given_PETAMOB;
double modelPar_LUP;
double d_modelPar_LUP_dX;
bool modelPar_given_LUP;
double modelPar_NUP;
double d_modelPar_NUP_dX;
bool modelPar_given_NUP;
double modelPar_PUP;
double d_modelPar_PUP_dX;
bool modelPar_given_PUP;
double modelPar_LUPR;
double d_modelPar_LUPR_dX;
bool modelPar_given_LUPR;
double modelPar_NUPR;
double d_modelPar_NUPR_dX;
bool modelPar_given_NUPR;
double modelPar_PUPR;
double d_modelPar_PUPR_dX;
bool modelPar_given_PUPR;
double modelPar_LUA;
double d_modelPar_LUA_dX;
bool modelPar_given_LUA;
double modelPar_NUA;
double d_modelPar_NUA_dX;
bool modelPar_given_NUA;
double modelPar_PUA;
double d_modelPar_PUA_dX;
bool modelPar_given_PUA;
double modelPar_LUAR;
double d_modelPar_LUAR_dX;
bool modelPar_given_LUAR;
double modelPar_NUAR;
double d_modelPar_NUAR_dX;
bool modelPar_given_NUAR;
double modelPar_PUAR;
double d_modelPar_PUAR_dX;
bool modelPar_given_PUAR;
double modelPar_LUC;
double d_modelPar_LUC_dX;
bool modelPar_given_LUC;
double modelPar_NUC;
double d_modelPar_NUC_dX;
bool modelPar_given_NUC;
double modelPar_PUC;
double d_modelPar_PUC_dX;
bool modelPar_given_PUC;
double modelPar_LUCR;
double d_modelPar_LUCR_dX;
bool modelPar_given_LUCR;
double modelPar_NUCR;
double d_modelPar_NUCR_dX;
bool modelPar_given_NUCR;
double modelPar_PUCR;
double d_modelPar_PUCR_dX;
bool modelPar_given_PUCR;
double modelPar_LEU;
double d_modelPar_LEU_dX;
bool modelPar_given_LEU;
double modelPar_NEU;
double d_modelPar_NEU_dX;
bool modelPar_given_NEU;
double modelPar_PEU;
double d_modelPar_PEU_dX;
bool modelPar_given_PEU;
double modelPar_LEUR;
double d_modelPar_LEUR_dX;
bool modelPar_given_LEUR;
double modelPar_NEUR;
double d_modelPar_NEUR_dX;
bool modelPar_given_NEUR;
double modelPar_PEUR;
double d_modelPar_PEUR_dX;
bool modelPar_given_PEUR;
double modelPar_LUD;
double d_modelPar_LUD_dX;
bool modelPar_given_LUD;
double modelPar_NUD;
double d_modelPar_NUD_dX;
bool modelPar_given_NUD;
double modelPar_PUD;
double d_modelPar_PUD_dX;
bool modelPar_given_PUD;
double modelPar_LUDR;
double d_modelPar_LUDR_dX;
bool modelPar_given_LUDR;
double modelPar_NUDR;
double d_modelPar_NUDR_dX;
bool modelPar_given_NUDR;
double modelPar_PUDR;
double d_modelPar_PUDR_dX;
bool modelPar_given_PUDR;
double modelPar_LUCS;
double d_modelPar_LUCS_dX;
bool modelPar_given_LUCS;
double modelPar_NUCS;
double d_modelPar_NUCS_dX;
bool modelPar_given_NUCS;
double modelPar_PUCS;
double d_modelPar_PUCS_dX;
bool modelPar_given_PUCS;
double modelPar_LPCLM;
double d_modelPar_LPCLM_dX;
bool modelPar_given_LPCLM;
double modelPar_NPCLM;
double d_modelPar_NPCLM_dX;
bool modelPar_given_NPCLM;
double modelPar_PPCLM;
double d_modelPar_PPCLM_dX;
bool modelPar_given_PPCLM;
double modelPar_LPCLMR;
double d_modelPar_LPCLMR_dX;
bool modelPar_given_LPCLMR;
double modelPar_NPCLMR;
double d_modelPar_NPCLMR_dX;
bool modelPar_given_NPCLMR;
double modelPar_PPCLMR;
double d_modelPar_PPCLMR_dX;
bool modelPar_given_PPCLMR;
double modelPar_LPCLMG;
double d_modelPar_LPCLMG_dX;
bool modelPar_given_LPCLMG;
double modelPar_NPCLMG;
double d_modelPar_NPCLMG_dX;
bool modelPar_given_NPCLMG;
double modelPar_PPCLMG;
double d_modelPar_PPCLMG_dX;
bool modelPar_given_PPCLMG;
double modelPar_LPCLMCV;
double d_modelPar_LPCLMCV_dX;
bool modelPar_given_LPCLMCV;
double modelPar_NPCLMCV;
double d_modelPar_NPCLMCV_dX;
bool modelPar_given_NPCLMCV;
double modelPar_PPCLMCV;
double d_modelPar_PPCLMCV_dX;
bool modelPar_given_PPCLMCV;
double modelPar_LA1;
double d_modelPar_LA1_dX;
bool modelPar_given_LA1;
double modelPar_NA1;
double d_modelPar_NA1_dX;
bool modelPar_given_NA1;
double modelPar_PA1;
double d_modelPar_PA1_dX;
bool modelPar_given_PA1;
double modelPar_LA11;
double d_modelPar_LA11_dX;
bool modelPar_given_LA11;
double modelPar_NA11;
double d_modelPar_NA11_dX;
bool modelPar_given_NA11;
double modelPar_PA11;
double d_modelPar_PA11_dX;
bool modelPar_given_PA11;
double modelPar_LA2;
double d_modelPar_LA2_dX;
bool modelPar_given_LA2;
double modelPar_NA2;
double d_modelPar_NA2_dX;
bool modelPar_given_NA2;
double modelPar_PA2;
double d_modelPar_PA2_dX;
bool modelPar_given_PA2;
double modelPar_LA21;
double d_modelPar_LA21_dX;
bool modelPar_given_LA21;
double modelPar_NA21;
double d_modelPar_NA21_dX;
bool modelPar_given_NA21;
double modelPar_PA21;
double d_modelPar_PA21_dX;
bool modelPar_given_PA21;
double modelPar_LRDSW;
double d_modelPar_LRDSW_dX;
bool modelPar_given_LRDSW;
double modelPar_NRDSW;
double d_modelPar_NRDSW_dX;
bool modelPar_given_NRDSW;
double modelPar_PRDSW;
double d_modelPar_PRDSW_dX;
bool modelPar_given_PRDSW;
double modelPar_LRSW;
double d_modelPar_LRSW_dX;
bool modelPar_given_LRSW;
double modelPar_NRSW;
double d_modelPar_NRSW_dX;
bool modelPar_given_NRSW;
double modelPar_PRSW;
double d_modelPar_PRSW_dX;
bool modelPar_given_PRSW;
double modelPar_LRDW;
double d_modelPar_LRDW_dX;
bool modelPar_given_LRDW;
double modelPar_NRDW;
double d_modelPar_NRDW_dX;
bool modelPar_given_NRDW;
double modelPar_PRDW;
double d_modelPar_PRDW_dX;
bool modelPar_given_PRDW;
double modelPar_LPRWGS;
double d_modelPar_LPRWGS_dX;
bool modelPar_given_LPRWGS;
double modelPar_NPRWGS;
double d_modelPar_NPRWGS_dX;
bool modelPar_given_NPRWGS;
double modelPar_PPRWGS;
double d_modelPar_PPRWGS_dX;
bool modelPar_given_PPRWGS;
double modelPar_LPRWGD;
double d_modelPar_LPRWGD_dX;
bool modelPar_given_LPRWGD;
double modelPar_NPRWGD;
double d_modelPar_NPRWGD_dX;
bool modelPar_given_NPRWGD;
double modelPar_PPRWGD;
double d_modelPar_PPRWGD_dX;
bool modelPar_given_PPRWGD;
double modelPar_LWR;
double d_modelPar_LWR_dX;
bool modelPar_given_LWR;
double modelPar_NWR;
double d_modelPar_NWR_dX;
bool modelPar_given_NWR;
double modelPar_PWR;
double d_modelPar_PWR_dX;
bool modelPar_given_PWR;
double modelPar_LPDIBL1;
double d_modelPar_LPDIBL1_dX;
bool modelPar_given_LPDIBL1;
double modelPar_NPDIBL1;
double d_modelPar_NPDIBL1_dX;
bool modelPar_given_NPDIBL1;
double modelPar_PPDIBL1;
double d_modelPar_PPDIBL1_dX;
bool modelPar_given_PPDIBL1;
double modelPar_LPDIBL1R;
double d_modelPar_LPDIBL1R_dX;
bool modelPar_given_LPDIBL1R;
double modelPar_NPDIBL1R;
double d_modelPar_NPDIBL1R_dX;
bool modelPar_given_NPDIBL1R;
double modelPar_PPDIBL1R;
double d_modelPar_PPDIBL1R_dX;
bool modelPar_given_PPDIBL1R;
double modelPar_LPDIBL2;
double d_modelPar_LPDIBL2_dX;
bool modelPar_given_LPDIBL2;
double modelPar_NPDIBL2;
double d_modelPar_NPDIBL2_dX;
bool modelPar_given_NPDIBL2;
double modelPar_PPDIBL2;
double d_modelPar_PPDIBL2_dX;
bool modelPar_given_PPDIBL2;
double modelPar_LPDIBL2R;
double d_modelPar_LPDIBL2R_dX;
bool modelPar_given_LPDIBL2R;
double modelPar_NPDIBL2R;
double d_modelPar_NPDIBL2R_dX;
bool modelPar_given_NPDIBL2R;
double modelPar_PPDIBL2R;
double d_modelPar_PPDIBL2R_dX;
bool modelPar_given_PPDIBL2R;
double modelPar_LDROUT;
double d_modelPar_LDROUT_dX;
bool modelPar_given_LDROUT;
double modelPar_NDROUT;
double d_modelPar_NDROUT_dX;
bool modelPar_given_NDROUT;
double modelPar_PDROUT;
double d_modelPar_PDROUT_dX;
bool modelPar_given_PDROUT;
double modelPar_LPVAG;
double d_modelPar_LPVAG_dX;
bool modelPar_given_LPVAG;
double modelPar_NPVAG;
double d_modelPar_NPVAG_dX;
bool modelPar_given_NPVAG;
double modelPar_PPVAG;
double d_modelPar_PPVAG_dX;
bool modelPar_given_PPVAG;
double modelPar_LAIGBINV;
double d_modelPar_LAIGBINV_dX;
bool modelPar_given_LAIGBINV;
double modelPar_NAIGBINV;
double d_modelPar_NAIGBINV_dX;
bool modelPar_given_NAIGBINV;
double modelPar_PAIGBINV;
double d_modelPar_PAIGBINV_dX;
bool modelPar_given_PAIGBINV;
double modelPar_LAIGBINV1;
double d_modelPar_LAIGBINV1_dX;
bool modelPar_given_LAIGBINV1;
double modelPar_NAIGBINV1;
double d_modelPar_NAIGBINV1_dX;
bool modelPar_given_NAIGBINV1;
double modelPar_PAIGBINV1;
double d_modelPar_PAIGBINV1_dX;
bool modelPar_given_PAIGBINV1;
double modelPar_LBIGBINV;
double d_modelPar_LBIGBINV_dX;
bool modelPar_given_LBIGBINV;
double modelPar_NBIGBINV;
double d_modelPar_NBIGBINV_dX;
bool modelPar_given_NBIGBINV;
double modelPar_PBIGBINV;
double d_modelPar_PBIGBINV_dX;
bool modelPar_given_PBIGBINV;
double modelPar_LCIGBINV;
double d_modelPar_LCIGBINV_dX;
bool modelPar_given_LCIGBINV;
double modelPar_NCIGBINV;
double d_modelPar_NCIGBINV_dX;
bool modelPar_given_NCIGBINV;
double modelPar_PCIGBINV;
double d_modelPar_PCIGBINV_dX;
bool modelPar_given_PCIGBINV;
double modelPar_LEIGBINV;
double d_modelPar_LEIGBINV_dX;
bool modelPar_given_LEIGBINV;
double modelPar_NEIGBINV;
double d_modelPar_NEIGBINV_dX;
bool modelPar_given_NEIGBINV;
double modelPar_PEIGBINV;
double d_modelPar_PEIGBINV_dX;
bool modelPar_given_PEIGBINV;
double modelPar_LNIGBINV;
double d_modelPar_LNIGBINV_dX;
bool modelPar_given_LNIGBINV;
double modelPar_NNIGBINV;
double d_modelPar_NNIGBINV_dX;
bool modelPar_given_NNIGBINV;
double modelPar_PNIGBINV;
double d_modelPar_PNIGBINV_dX;
bool modelPar_given_PNIGBINV;
double modelPar_LAIGBACC;
double d_modelPar_LAIGBACC_dX;
bool modelPar_given_LAIGBACC;
double modelPar_NAIGBACC;
double d_modelPar_NAIGBACC_dX;
bool modelPar_given_NAIGBACC;
double modelPar_PAIGBACC;
double d_modelPar_PAIGBACC_dX;
bool modelPar_given_PAIGBACC;
double modelPar_LAIGBACC1;
double d_modelPar_LAIGBACC1_dX;
bool modelPar_given_LAIGBACC1;
double modelPar_NAIGBACC1;
double d_modelPar_NAIGBACC1_dX;
bool modelPar_given_NAIGBACC1;
double modelPar_PAIGBACC1;
double d_modelPar_PAIGBACC1_dX;
bool modelPar_given_PAIGBACC1;
double modelPar_LBIGBACC;
double d_modelPar_LBIGBACC_dX;
bool modelPar_given_LBIGBACC;
double modelPar_NBIGBACC;
double d_modelPar_NBIGBACC_dX;
bool modelPar_given_NBIGBACC;
double modelPar_PBIGBACC;
double d_modelPar_PBIGBACC_dX;
bool modelPar_given_PBIGBACC;
double modelPar_LCIGBACC;
double d_modelPar_LCIGBACC_dX;
bool modelPar_given_LCIGBACC;
double modelPar_NCIGBACC;
double d_modelPar_NCIGBACC_dX;
bool modelPar_given_NCIGBACC;
double modelPar_PCIGBACC;
double d_modelPar_PCIGBACC_dX;
bool modelPar_given_PCIGBACC;
double modelPar_LNIGBACC;
double d_modelPar_LNIGBACC_dX;
bool modelPar_given_LNIGBACC;
double modelPar_NNIGBACC;
double d_modelPar_NNIGBACC_dX;
bool modelPar_given_NNIGBACC;
double modelPar_PNIGBACC;
double d_modelPar_PNIGBACC_dX;
bool modelPar_given_PNIGBACC;
double modelPar_LAIGC;
double d_modelPar_LAIGC_dX;
bool modelPar_given_LAIGC;
double modelPar_NAIGC;
double d_modelPar_NAIGC_dX;
bool modelPar_given_NAIGC;
double modelPar_PAIGC;
double d_modelPar_PAIGC_dX;
bool modelPar_given_PAIGC;
double modelPar_LAIGC1;
double d_modelPar_LAIGC1_dX;
bool modelPar_given_LAIGC1;
double modelPar_NAIGC1;
double d_modelPar_NAIGC1_dX;
bool modelPar_given_NAIGC1;
double modelPar_PAIGC1;
double d_modelPar_PAIGC1_dX;
bool modelPar_given_PAIGC1;
double modelPar_LBIGC;
double d_modelPar_LBIGC_dX;
bool modelPar_given_LBIGC;
double modelPar_NBIGC;
double d_modelPar_NBIGC_dX;
bool modelPar_given_NBIGC;
double modelPar_PBIGC;
double d_modelPar_PBIGC_dX;
bool modelPar_given_PBIGC;
double modelPar_LCIGC;
double d_modelPar_LCIGC_dX;
bool modelPar_given_LCIGC;
double modelPar_NCIGC;
double d_modelPar_NCIGC_dX;
bool modelPar_given_NCIGC;
double modelPar_PCIGC;
double d_modelPar_PCIGC_dX;
bool modelPar_given_PCIGC;
double modelPar_LPIGCD;
double d_modelPar_LPIGCD_dX;
bool modelPar_given_LPIGCD;
double modelPar_NPIGCD;
double d_modelPar_NPIGCD_dX;
bool modelPar_given_NPIGCD;
double modelPar_PPIGCD;
double d_modelPar_PPIGCD_dX;
bool modelPar_given_PPIGCD;
double modelPar_LAIGS;
double d_modelPar_LAIGS_dX;
bool modelPar_given_LAIGS;
double modelPar_NAIGS;
double d_modelPar_NAIGS_dX;
bool modelPar_given_NAIGS;
double modelPar_PAIGS;
double d_modelPar_PAIGS_dX;
bool modelPar_given_PAIGS;
double modelPar_LAIGS1;
double d_modelPar_LAIGS1_dX;
bool modelPar_given_LAIGS1;
double modelPar_NAIGS1;
double d_modelPar_NAIGS1_dX;
bool modelPar_given_NAIGS1;
double modelPar_PAIGS1;
double d_modelPar_PAIGS1_dX;
bool modelPar_given_PAIGS1;
double modelPar_LBIGS;
double d_modelPar_LBIGS_dX;
bool modelPar_given_LBIGS;
double modelPar_NBIGS;
double d_modelPar_NBIGS_dX;
bool modelPar_given_NBIGS;
double modelPar_PBIGS;
double d_modelPar_PBIGS_dX;
bool modelPar_given_PBIGS;
double modelPar_LCIGS;
double d_modelPar_LCIGS_dX;
bool modelPar_given_LCIGS;
double modelPar_NCIGS;
double d_modelPar_NCIGS_dX;
bool modelPar_given_NCIGS;
double modelPar_PCIGS;
double d_modelPar_PCIGS_dX;
bool modelPar_given_PCIGS;
double modelPar_LAIGD;
double d_modelPar_LAIGD_dX;
bool modelPar_given_LAIGD;
double modelPar_NAIGD;
double d_modelPar_NAIGD_dX;
bool modelPar_given_NAIGD;
double modelPar_PAIGD;
double d_modelPar_PAIGD_dX;
bool modelPar_given_PAIGD;
double modelPar_LAIGD1;
double d_modelPar_LAIGD1_dX;
bool modelPar_given_LAIGD1;
double modelPar_NAIGD1;
double d_modelPar_NAIGD1_dX;
bool modelPar_given_NAIGD1;
double modelPar_PAIGD1;
double d_modelPar_PAIGD1_dX;
bool modelPar_given_PAIGD1;
double modelPar_LBIGD;
double d_modelPar_LBIGD_dX;
bool modelPar_given_LBIGD;
double modelPar_NBIGD;
double d_modelPar_NBIGD_dX;
bool modelPar_given_NBIGD;
double modelPar_PBIGD;
double d_modelPar_PBIGD_dX;
bool modelPar_given_PBIGD;
double modelPar_LCIGD;
double d_modelPar_LCIGD_dX;
bool modelPar_given_LCIGD;
double modelPar_NCIGD;
double d_modelPar_NCIGD_dX;
bool modelPar_given_NCIGD;
double modelPar_PCIGD;
double d_modelPar_PCIGD_dX;
bool modelPar_given_PCIGD;
double modelPar_LNTOX;
double d_modelPar_LNTOX_dX;
bool modelPar_given_LNTOX;
double modelPar_NNTOX;
double d_modelPar_NNTOX_dX;
bool modelPar_given_NNTOX;
double modelPar_PNTOX;
double d_modelPar_PNTOX_dX;
bool modelPar_given_PNTOX;
double modelPar_LPOXEDGE;
double d_modelPar_LPOXEDGE_dX;
bool modelPar_given_LPOXEDGE;
double modelPar_NPOXEDGE;
double d_modelPar_NPOXEDGE_dX;
bool modelPar_given_NPOXEDGE;
double modelPar_PPOXEDGE;
double d_modelPar_PPOXEDGE_dX;
bool modelPar_given_PPOXEDGE;
double modelPar_LAGISL;
double d_modelPar_LAGISL_dX;
bool modelPar_given_LAGISL;
double modelPar_NAGISL;
double d_modelPar_NAGISL_dX;
bool modelPar_given_NAGISL;
double modelPar_PAGISL;
double d_modelPar_PAGISL_dX;
bool modelPar_given_PAGISL;
double modelPar_LBGISL;
double d_modelPar_LBGISL_dX;
bool modelPar_given_LBGISL;
double modelPar_NBGISL;
double d_modelPar_NBGISL_dX;
bool modelPar_given_NBGISL;
double modelPar_PBGISL;
double d_modelPar_PBGISL_dX;
bool modelPar_given_PBGISL;
double modelPar_LCGISL;
double d_modelPar_LCGISL_dX;
bool modelPar_given_LCGISL;
double modelPar_NCGISL;
double d_modelPar_NCGISL_dX;
bool modelPar_given_NCGISL;
double modelPar_PCGISL;
double d_modelPar_PCGISL_dX;
bool modelPar_given_PCGISL;
double modelPar_LEGISL;
double d_modelPar_LEGISL_dX;
bool modelPar_given_LEGISL;
double modelPar_NEGISL;
double d_modelPar_NEGISL_dX;
bool modelPar_given_NEGISL;
double modelPar_PEGISL;
double d_modelPar_PEGISL_dX;
bool modelPar_given_PEGISL;
double modelPar_LPGISL;
double d_modelPar_LPGISL_dX;
bool modelPar_given_LPGISL;
double modelPar_NPGISL;
double d_modelPar_NPGISL_dX;
bool modelPar_given_NPGISL;
double modelPar_PPGISL;
double d_modelPar_PPGISL_dX;
bool modelPar_given_PPGISL;
double modelPar_LAGIDL;
double d_modelPar_LAGIDL_dX;
bool modelPar_given_LAGIDL;
double modelPar_NAGIDL;
double d_modelPar_NAGIDL_dX;
bool modelPar_given_NAGIDL;
double modelPar_PAGIDL;
double d_modelPar_PAGIDL_dX;
bool modelPar_given_PAGIDL;
double modelPar_LBGIDL;
double d_modelPar_LBGIDL_dX;
bool modelPar_given_LBGIDL;
double modelPar_NBGIDL;
double d_modelPar_NBGIDL_dX;
bool modelPar_given_NBGIDL;
double modelPar_PBGIDL;
double d_modelPar_PBGIDL_dX;
bool modelPar_given_PBGIDL;
double modelPar_LCGIDL;
double d_modelPar_LCGIDL_dX;
bool modelPar_given_LCGIDL;
double modelPar_NCGIDL;
double d_modelPar_NCGIDL_dX;
bool modelPar_given_NCGIDL;
double modelPar_PCGIDL;
double d_modelPar_PCGIDL_dX;
bool modelPar_given_PCGIDL;
double modelPar_LEGIDL;
double d_modelPar_LEGIDL_dX;
bool modelPar_given_LEGIDL;
double modelPar_NEGIDL;
double d_modelPar_NEGIDL_dX;
bool modelPar_given_NEGIDL;
double modelPar_PEGIDL;
double d_modelPar_PEGIDL_dX;
bool modelPar_given_PEGIDL;
double modelPar_LPGIDL;
double d_modelPar_LPGIDL_dX;
bool modelPar_given_LPGIDL;
double modelPar_NPGIDL;
double d_modelPar_NPGIDL_dX;
bool modelPar_given_NPGIDL;
double modelPar_PPGIDL;
double d_modelPar_PPGIDL_dX;
bool modelPar_given_PPGIDL;
double modelPar_LALPHA0;
double d_modelPar_LALPHA0_dX;
bool modelPar_given_LALPHA0;
double modelPar_NALPHA0;
double d_modelPar_NALPHA0_dX;
bool modelPar_given_NALPHA0;
double modelPar_PALPHA0;
double d_modelPar_PALPHA0_dX;
bool modelPar_given_PALPHA0;
double modelPar_LALPHA1;
double d_modelPar_LALPHA1_dX;
bool modelPar_given_LALPHA1;
double modelPar_NALPHA1;
double d_modelPar_NALPHA1_dX;
bool modelPar_given_NALPHA1;
double modelPar_PALPHA1;
double d_modelPar_PALPHA1_dX;
bool modelPar_given_PALPHA1;
double modelPar_LALPHAII0;
double d_modelPar_LALPHAII0_dX;
bool modelPar_given_LALPHAII0;
double modelPar_NALPHAII0;
double d_modelPar_NALPHAII0_dX;
bool modelPar_given_NALPHAII0;
double modelPar_PALPHAII0;
double d_modelPar_PALPHAII0_dX;
bool modelPar_given_PALPHAII0;
double modelPar_LALPHAII1;
double d_modelPar_LALPHAII1_dX;
bool modelPar_given_LALPHAII1;
double modelPar_NALPHAII1;
double d_modelPar_NALPHAII1_dX;
bool modelPar_given_NALPHAII1;
double modelPar_PALPHAII1;
double d_modelPar_PALPHAII1_dX;
bool modelPar_given_PALPHAII1;
double modelPar_LBETA0;
double d_modelPar_LBETA0_dX;
bool modelPar_given_LBETA0;
double modelPar_NBETA0;
double d_modelPar_NBETA0_dX;
bool modelPar_given_NBETA0;
double modelPar_PBETA0;
double d_modelPar_PBETA0_dX;
bool modelPar_given_PBETA0;
double modelPar_LBETAII0;
double d_modelPar_LBETAII0_dX;
bool modelPar_given_LBETAII0;
double modelPar_NBETAII0;
double d_modelPar_NBETAII0_dX;
bool modelPar_given_NBETAII0;
double modelPar_PBETAII0;
double d_modelPar_PBETAII0_dX;
bool modelPar_given_PBETAII0;
double modelPar_LBETAII1;
double d_modelPar_LBETAII1_dX;
bool modelPar_given_LBETAII1;
double modelPar_NBETAII1;
double d_modelPar_NBETAII1_dX;
bool modelPar_given_NBETAII1;
double modelPar_PBETAII1;
double d_modelPar_PBETAII1_dX;
bool modelPar_given_PBETAII1;
double modelPar_LBETAII2;
double d_modelPar_LBETAII2_dX;
bool modelPar_given_LBETAII2;
double modelPar_NBETAII2;
double d_modelPar_NBETAII2_dX;
bool modelPar_given_NBETAII2;
double modelPar_PBETAII2;
double d_modelPar_PBETAII2_dX;
bool modelPar_given_PBETAII2;
double modelPar_LESATII;
double d_modelPar_LESATII_dX;
bool modelPar_given_LESATII;
double modelPar_NESATII;
double d_modelPar_NESATII_dX;
bool modelPar_given_NESATII;
double modelPar_PESATII;
double d_modelPar_PESATII_dX;
bool modelPar_given_PESATII;
double modelPar_LLII;
double d_modelPar_LLII_dX;
bool modelPar_given_LLII;
double modelPar_NLII;
double d_modelPar_NLII_dX;
bool modelPar_given_NLII;
double modelPar_PLII;
double d_modelPar_PLII_dX;
bool modelPar_given_PLII;
double modelPar_LSII0;
double d_modelPar_LSII0_dX;
bool modelPar_given_LSII0;
double modelPar_NSII0;
double d_modelPar_NSII0_dX;
bool modelPar_given_NSII0;
double modelPar_PSII0;
double d_modelPar_PSII0_dX;
bool modelPar_given_PSII0;
double modelPar_LSII1;
double d_modelPar_LSII1_dX;
bool modelPar_given_LSII1;
double modelPar_NSII1;
double d_modelPar_NSII1_dX;
bool modelPar_given_NSII1;
double modelPar_PSII1;
double d_modelPar_PSII1_dX;
bool modelPar_given_PSII1;
double modelPar_LSII2;
double d_modelPar_LSII2_dX;
bool modelPar_given_LSII2;
double modelPar_NSII2;
double d_modelPar_NSII2_dX;
bool modelPar_given_NSII2;
double modelPar_PSII2;
double d_modelPar_PSII2_dX;
bool modelPar_given_PSII2;
double modelPar_LSIID;
double d_modelPar_LSIID_dX;
bool modelPar_given_LSIID;
double modelPar_NSIID;
double d_modelPar_NSIID_dX;
bool modelPar_given_NSIID;
double modelPar_PSIID;
double d_modelPar_PSIID_dX;
bool modelPar_given_PSIID;
double modelPar_LCFS;
double d_modelPar_LCFS_dX;
bool modelPar_given_LCFS;
double modelPar_NCFS;
double d_modelPar_NCFS_dX;
bool modelPar_given_NCFS;
double modelPar_PCFS;
double d_modelPar_PCFS_dX;
bool modelPar_given_PCFS;
double modelPar_LCFD;
double d_modelPar_LCFD_dX;
bool modelPar_given_LCFD;
double modelPar_NCFD;
double d_modelPar_NCFD_dX;
bool modelPar_given_NCFD;
double modelPar_PCFD;
double d_modelPar_PCFD_dX;
bool modelPar_given_PCFD;
double modelPar_LCOVS;
double d_modelPar_LCOVS_dX;
bool modelPar_given_LCOVS;
double modelPar_NCOVS;
double d_modelPar_NCOVS_dX;
bool modelPar_given_NCOVS;
double modelPar_PCOVS;
double d_modelPar_PCOVS_dX;
bool modelPar_given_PCOVS;
double modelPar_LCOVD;
double d_modelPar_LCOVD_dX;
bool modelPar_given_LCOVD;
double modelPar_NCOVD;
double d_modelPar_NCOVD_dX;
bool modelPar_given_NCOVD;
double modelPar_PCOVD;
double d_modelPar_PCOVD_dX;
bool modelPar_given_PCOVD;
double modelPar_LCGSL;
double d_modelPar_LCGSL_dX;
bool modelPar_given_LCGSL;
double modelPar_NCGSL;
double d_modelPar_NCGSL_dX;
bool modelPar_given_NCGSL;
double modelPar_PCGSL;
double d_modelPar_PCGSL_dX;
bool modelPar_given_PCGSL;
double modelPar_LCGDL;
double d_modelPar_LCGDL_dX;
bool modelPar_given_LCGDL;
double modelPar_NCGDL;
double d_modelPar_NCGDL_dX;
bool modelPar_given_NCGDL;
double modelPar_PCGDL;
double d_modelPar_PCGDL_dX;
bool modelPar_given_PCGDL;
double modelPar_LCKAPPAS;
double d_modelPar_LCKAPPAS_dX;
bool modelPar_given_LCKAPPAS;
double modelPar_NCKAPPAS;
double d_modelPar_NCKAPPAS_dX;
bool modelPar_given_NCKAPPAS;
double modelPar_PCKAPPAS;
double d_modelPar_PCKAPPAS_dX;
bool modelPar_given_PCKAPPAS;
double modelPar_LCKAPPAD;
double d_modelPar_LCKAPPAD_dX;
bool modelPar_given_LCKAPPAD;
double modelPar_NCKAPPAD;
double d_modelPar_NCKAPPAD_dX;
bool modelPar_given_NCKAPPAD;
double modelPar_PCKAPPAD;
double d_modelPar_PCKAPPAD_dX;
bool modelPar_given_PCKAPPAD;
double modelPar_LCGBL;
double d_modelPar_LCGBL_dX;
bool modelPar_given_LCGBL;
double modelPar_NCGBL;
double d_modelPar_NCGBL_dX;
bool modelPar_given_NCGBL;
double modelPar_PCGBL;
double d_modelPar_PCGBL_dX;
bool modelPar_given_PCGBL;
double modelPar_LCKAPPAB;
double d_modelPar_LCKAPPAB_dX;
bool modelPar_given_LCKAPPAB;
double modelPar_NCKAPPAB;
double d_modelPar_NCKAPPAB_dX;
bool modelPar_given_NCKAPPAB;
double modelPar_PCKAPPAB;
double d_modelPar_PCKAPPAB_dX;
bool modelPar_given_PCKAPPAB;
double modelPar_LNTGEN;
double d_modelPar_LNTGEN_dX;
bool modelPar_given_LNTGEN;
double modelPar_NNTGEN;
double d_modelPar_NNTGEN_dX;
bool modelPar_given_NNTGEN;
double modelPar_PNTGEN;
double d_modelPar_PNTGEN_dX;
bool modelPar_given_PNTGEN;
double modelPar_LAIGEN;
double d_modelPar_LAIGEN_dX;
bool modelPar_given_LAIGEN;
double modelPar_NAIGEN;
double d_modelPar_NAIGEN_dX;
bool modelPar_given_NAIGEN;
double modelPar_PAIGEN;
double d_modelPar_PAIGEN_dX;
bool modelPar_given_PAIGEN;
double modelPar_LBIGEN;
double d_modelPar_LBIGEN_dX;
bool modelPar_given_LBIGEN;
double modelPar_NBIGEN;
double d_modelPar_NBIGEN_dX;
bool modelPar_given_NBIGEN;
double modelPar_PBIGEN;
double d_modelPar_PBIGEN_dX;
bool modelPar_given_PBIGEN;
double modelPar_LXRCRG1;
double d_modelPar_LXRCRG1_dX;
bool modelPar_given_LXRCRG1;
double modelPar_NXRCRG1;
double d_modelPar_NXRCRG1_dX;
bool modelPar_given_NXRCRG1;
double modelPar_PXRCRG1;
double d_modelPar_PXRCRG1_dX;
bool modelPar_given_PXRCRG1;
double modelPar_LXRCRG2;
double d_modelPar_LXRCRG2_dX;
bool modelPar_given_LXRCRG2;
double modelPar_NXRCRG2;
double d_modelPar_NXRCRG2_dX;
bool modelPar_given_NXRCRG2;
double modelPar_PXRCRG2;
double d_modelPar_PXRCRG2_dX;
bool modelPar_given_PXRCRG2;
double modelPar_LUTE;
double d_modelPar_LUTE_dX;
bool modelPar_given_LUTE;
double modelPar_NUTE;
double d_modelPar_NUTE_dX;
bool modelPar_given_NUTE;
double modelPar_PUTE;
double d_modelPar_PUTE_dX;
bool modelPar_given_PUTE;
double modelPar_LUTER;
double d_modelPar_LUTER_dX;
bool modelPar_given_LUTER;
double modelPar_NUTER;
double d_modelPar_NUTER_dX;
bool modelPar_given_NUTER;
double modelPar_PUTER;
double d_modelPar_PUTER_dX;
bool modelPar_given_PUTER;
double modelPar_LUTL;
double d_modelPar_LUTL_dX;
bool modelPar_given_LUTL;
double modelPar_NUTL;
double d_modelPar_NUTL_dX;
bool modelPar_given_NUTL;
double modelPar_PUTL;
double d_modelPar_PUTL_dX;
bool modelPar_given_PUTL;
double modelPar_LUTLR;
double d_modelPar_LUTLR_dX;
bool modelPar_given_LUTLR;
double modelPar_NUTLR;
double d_modelPar_NUTLR_dX;
bool modelPar_given_NUTLR;
double modelPar_PUTLR;
double d_modelPar_PUTLR_dX;
bool modelPar_given_PUTLR;
double modelPar_LEMOBT;
double d_modelPar_LEMOBT_dX;
bool modelPar_given_LEMOBT;
double modelPar_NEMOBT;
double d_modelPar_NEMOBT_dX;
bool modelPar_given_NEMOBT;
double modelPar_PEMOBT;
double d_modelPar_PEMOBT_dX;
bool modelPar_given_PEMOBT;
double modelPar_LUA1;
double d_modelPar_LUA1_dX;
bool modelPar_given_LUA1;
double modelPar_NUA1;
double d_modelPar_NUA1_dX;
bool modelPar_given_NUA1;
double modelPar_PUA1;
double d_modelPar_PUA1_dX;
bool modelPar_given_PUA1;
double modelPar_LUA1R;
double d_modelPar_LUA1R_dX;
bool modelPar_given_LUA1R;
double modelPar_NUA1R;
double d_modelPar_NUA1R_dX;
bool modelPar_given_NUA1R;
double modelPar_PUA1R;
double d_modelPar_PUA1R_dX;
bool modelPar_given_PUA1R;
double modelPar_LUC1;
double d_modelPar_LUC1_dX;
bool modelPar_given_LUC1;
double modelPar_NUC1;
double d_modelPar_NUC1_dX;
bool modelPar_given_NUC1;
double modelPar_PUC1;
double d_modelPar_PUC1_dX;
bool modelPar_given_PUC1;
double modelPar_LUC1R;
double d_modelPar_LUC1R_dX;
bool modelPar_given_LUC1R;
double modelPar_NUC1R;
double d_modelPar_NUC1R_dX;
bool modelPar_given_NUC1R;
double modelPar_PUC1R;
double d_modelPar_PUC1R_dX;
bool modelPar_given_PUC1R;
double modelPar_LUD1;
double d_modelPar_LUD1_dX;
bool modelPar_given_LUD1;
double modelPar_NUD1;
double d_modelPar_NUD1_dX;
bool modelPar_given_NUD1;
double modelPar_PUD1;
double d_modelPar_PUD1_dX;
bool modelPar_given_PUD1;
double modelPar_LUD1R;
double d_modelPar_LUD1R_dX;
bool modelPar_given_LUD1R;
double modelPar_NUD1R;
double d_modelPar_NUD1R_dX;
bool modelPar_given_NUD1R;
double modelPar_PUD1R;
double d_modelPar_PUD1R_dX;
bool modelPar_given_PUD1R;
double modelPar_LUCSTE;
double d_modelPar_LUCSTE_dX;
bool modelPar_given_LUCSTE;
double modelPar_NUCSTE;
double d_modelPar_NUCSTE_dX;
bool modelPar_given_NUCSTE;
double modelPar_PUCSTE;
double d_modelPar_PUCSTE_dX;
bool modelPar_given_PUCSTE;
double modelPar_LPTWGT;
double d_modelPar_LPTWGT_dX;
bool modelPar_given_LPTWGT;
double modelPar_NPTWGT;
double d_modelPar_NPTWGT_dX;
bool modelPar_given_NPTWGT;
double modelPar_PPTWGT;
double d_modelPar_PPTWGT_dX;
bool modelPar_given_PPTWGT;
double modelPar_LAT;
double d_modelPar_LAT_dX;
bool modelPar_given_LAT;
double modelPar_NAT;
double d_modelPar_NAT_dX;
bool modelPar_given_NAT;
double modelPar_PAT;
double d_modelPar_PAT_dX;
bool modelPar_given_PAT;
double modelPar_LATR;
double d_modelPar_LATR_dX;
bool modelPar_given_LATR;
double modelPar_NATR;
double d_modelPar_NATR_dX;
bool modelPar_given_NATR;
double modelPar_PATR;
double d_modelPar_PATR_dX;
bool modelPar_given_PATR;
double modelPar_LATCV;
double d_modelPar_LATCV_dX;
bool modelPar_given_LATCV;
double modelPar_NATCV;
double d_modelPar_NATCV_dX;
bool modelPar_given_NATCV;
double modelPar_PATCV;
double d_modelPar_PATCV_dX;
bool modelPar_given_PATCV;
double modelPar_LSTTHETASAT;
double d_modelPar_LSTTHETASAT_dX;
bool modelPar_given_LSTTHETASAT;
double modelPar_NSTTHETASAT;
double d_modelPar_NSTTHETASAT_dX;
bool modelPar_given_NSTTHETASAT;
double modelPar_PSTTHETASAT;
double d_modelPar_PSTTHETASAT_dX;
bool modelPar_given_PSTTHETASAT;
double modelPar_LPRT;
double d_modelPar_LPRT_dX;
bool modelPar_given_LPRT;
double modelPar_NPRT;
double d_modelPar_NPRT_dX;
bool modelPar_given_NPRT;
double modelPar_PPRT;
double d_modelPar_PPRT_dX;
bool modelPar_given_PPRT;
double modelPar_LKT1;
double d_modelPar_LKT1_dX;
bool modelPar_given_LKT1;
double modelPar_NKT1;
double d_modelPar_NKT1_dX;
bool modelPar_given_NKT1;
double modelPar_PKT1;
double d_modelPar_PKT1_dX;
bool modelPar_given_PKT1;
double modelPar_LTSS;
double d_modelPar_LTSS_dX;
bool modelPar_given_LTSS;
double modelPar_NTSS;
double d_modelPar_NTSS_dX;
bool modelPar_given_NTSS;
double modelPar_PTSS;
double d_modelPar_PTSS_dX;
bool modelPar_given_PTSS;
double modelPar_LIIT;
double d_modelPar_LIIT_dX;
bool modelPar_given_LIIT;
double modelPar_NIIT;
double d_modelPar_NIIT_dX;
bool modelPar_given_NIIT;
double modelPar_PIIT;
double d_modelPar_PIIT_dX;
bool modelPar_given_PIIT;
double modelPar_LTII;
double d_modelPar_LTII_dX;
bool modelPar_given_LTII;
double modelPar_NTII;
double d_modelPar_NTII_dX;
bool modelPar_given_NTII;
double modelPar_PTII;
double d_modelPar_PTII_dX;
bool modelPar_given_PTII;
double modelPar_LTGIDL;
double d_modelPar_LTGIDL_dX;
bool modelPar_given_LTGIDL;
double modelPar_NTGIDL;
double d_modelPar_NTGIDL_dX;
bool modelPar_given_NTGIDL;
double modelPar_PTGIDL;
double d_modelPar_PTGIDL_dX;
bool modelPar_given_PTGIDL;
double modelPar_LIGT;
double d_modelPar_LIGT_dX;
bool modelPar_given_LIGT;
double modelPar_NIGT;
double d_modelPar_NIGT_dX;
bool modelPar_given_NIGT;
double modelPar_PIGT;
double d_modelPar_PIGT_dX;
bool modelPar_given_PIGT;
// non-reals (including hidden)
int modelPar_NF;
bool modelPar_given_NF;
int modelPar_NGCON;
bool modelPar_given_NGCON;
int modelPar_DEVTYPE;
bool modelPar_given_DEVTYPE;
int modelPar_TYPE;
bool modelPar_given_TYPE;
int modelPar_BULKMOD;
bool modelPar_given_BULKMOD;
int modelPar_GEOMOD;
bool modelPar_given_GEOMOD;
int modelPar_CGEO1SW;
bool modelPar_given_CGEO1SW;
int modelPar_RDSMOD;
bool modelPar_given_RDSMOD;
int modelPar_ASYMMOD;
bool modelPar_given_ASYMMOD;
int modelPar_IGCMOD;
bool modelPar_given_IGCMOD;
int modelPar_IGBMOD;
bool modelPar_given_IGBMOD;
int modelPar_GIDLMOD;
bool modelPar_given_GIDLMOD;
int modelPar_IIMOD;
bool modelPar_given_IIMOD;
int modelPar_TNOIMOD;
bool modelPar_given_TNOIMOD;
int modelPar_NQSMOD;
bool modelPar_given_NQSMOD;
int modelPar_SHMOD;
bool modelPar_given_SHMOD;
int modelPar_TEMPMOD;
bool modelPar_given_TEMPMOD;
int modelPar_RGATEMOD;
bool modelPar_given_RGATEMOD;
int modelPar_RGEOMOD;
bool modelPar_given_RGEOMOD;
int modelPar_CGEOMOD;
bool modelPar_given_CGEOMOD;
int modelPar_SH_WARN;
bool modelPar_given_SH_WARN;
int modelPar_IGCLAMP;
bool modelPar_given_IGCLAMP;
int modelPar_SDTERM;
bool modelPar_given_SDTERM;
int modelPar_NSEG;
bool modelPar_given_NSEG;
};



//-----------------------------------------------------------------------------
// Free functions used by sensitivity
//
//-----------------------------------------------------------------------------
void evaluateModelEquations(
std::vector <double> & probeVars,
// probe constants
const int admsProbeID_V_si_GND,
const int admsProbeID_V_e_GND,
const int admsProbeID_V_di_GND,
const int admsProbeID_V_ge_GND,
const int admsProbeID_V_N_GND,
const int admsProbeID_V_g_ge,
const int admsProbeID_V_s_si,
const int admsProbeID_V_d_di,
const int admsProbeID_V_e_ge,
const int admsProbeID_V_ge_d,
const int admsProbeID_V_ge_s,
const int admsProbeID_V_di_d,
const int admsProbeID_V_si_s,
const int admsProbeID_V_e_s,
const int admsProbeID_V_d_s,
const int admsProbeID_V_g_s,
const int admsProbeID_V_ge_e,
const int admsProbeID_V_e_di,
const int admsProbeID_V_e_si,
const int admsProbeID_V_ge_di,
const int admsProbeID_V_di_si,
const int admsProbeID_V_ge_si,
const int admsProbeID_Temp_t_GND,
// node constants
const int admsNodeID_d,
const int admsNodeID_g,
const int admsNodeID_s,
const int admsNodeID_e,
const int admsNodeID_t,
const int admsNodeID_si,
const int admsNodeID_di,
const int admsNodeID_ge,
const int admsNodeID_N,
instanceSensStruct & instanceStruct,
modelSensStruct & modelStruct,
const std::vector<bool> & portsConnected_,
// basic variables
 double admsTemperature, double adms_vt_nom, double ADMSgmin_arg, std::vector <double> & d_staticContributions_dX, std::vector <double> & d_dynamicContributions_dX, const Instance & theInstance);

void evaluateInitialInstance(
instanceSensStruct & instanceStruct,
modelSensStruct & modelStruct,
const int admsNodeID_d,
const int admsNodeID_g,
const int admsNodeID_s,
const int admsNodeID_e,
const int admsNodeID_t,
const int admsNodeID_si,
const int admsNodeID_di,
const int admsNodeID_ge,
const int admsNodeID_N,
 const std::vector<bool> & portsConnected_,
 double admsTemperature,double adms_vt_nom, double ADMSgmin_arg, const Instance & theInstance);

void evaluateInitialModel(
modelSensStruct & modelStruct,
 double admsTemperature, double ADMSgmin_arg, const Instance & theInstance);

#endif // Xyce_ADMS_SENSITIVITIES


// Limited exponential --- NOT what verilog LRM says, but what qucs,
// ng-spice, and zspice do.

template <typename T>
T limexp(const T &x)
{
  if ((x) < 80.0)
  return (exp(x));
  else
  return (exp(80.0)*(x-79.0));
}


struct Traits: public DeviceTraits<Model, Instance, MOSFET1::Traits>
{
  static const char *name() {return "BSIM-CMG FINFET v110.0.0";}
  static const char *deviceTypeName() {return "M level 110";}

  static int numNodes() {return 4;}

  static int numOptionalNodes() {return 1;};

  static bool modelRequired() {return true;}
  static bool isLinearDevice() {return false;}

  static Device *factory(const Configuration &configuration, const FactoryBlock &factory_block);
  static void loadModelParameters(ParametricData<Model> &model_parameters);
  static void loadInstanceParameters(ParametricData<Instance> &instance_parameters);
};

//-----------------------------------------------------------------------------
// Class         : Instance

//
// Purpose       : This class represents a single instance  of the
//                 device.  It mainly contains indices and pointers into
//                 the matrix equation (see the resistor instance class for
//                 more details).
//
// Special Notes :
// Creator       :
// Creation Date :
//-----------------------------------------------------------------------------
class Instance : public DeviceInstance
{
  friend class ParametricData<Instance>;
  friend class Model;
#ifdef Xyce_ADMS_SENSITIVITIES
  friend class InstanceSensitivity;
  friend class ModelSensitivity;
#endif // Xyce_ADMS_SENSITIVITIES
  friend struct Traits;

  public:
    Instance(
      const Configuration &       configuration,
      const InstanceBlock &       instance_block,
      Model &                     model,
      const FactoryBlock &        factory_block);

    ~Instance();

private:
    Instance(const Instance &);
    Instance &operator=(const Instance &);

public:
    void registerLIDs( const LocalIdVector & intLIDVecRef,
                       const LocalIdVector & extLIDVecRef );
    void registerStoreLIDs( const LocalIdVector & stoLIDVecRef );
    void setupPointers();

    void loadNodeSymbols(Util::SymbolTable &symbol_table) const;

    const JacobianStamp & jacobianStamp() const;
    void registerJacLIDs( const JacobianStamp & jacLIDVec );

    void registerBranchDataLIDs(const std::vector<int> & branchLIDVecRef);

    bool processParams();
    bool updateTemperature ( const double & temp = -999.0 );
    bool updateIntermediateVars ();
    bool updatePrimaryState ();
    bool updateSecondaryState ();

    // load functions, residual:
    bool loadDAEQVector ();
    bool loadDAEFVector ();

    // load functions, Jacobian:
    bool loadDAEdQdx ();
    bool loadDAEdFdx ();

      void collapseNodes();
      int getNumNoiseSources () const;  // 14
      void setupNoiseSources (Xyce::Analysis::NoiseData & noiseData);
      void getNoiseSources (Xyce::Analysis::NoiseData & noiseData);

  private:

  public:
    // iterator reference to the bsimcmg_110 model which owns this instance.
    // Getters and setters
    Model &getModel()
    {
      return model_;
    }

  private:

    Model & model_;   //< Owning Model
    // Begin verilog Instance Variables
    //   Instance Parameters
    double L;
    double D;
    double TFIN;
    double FPITCH;
    int NF;
    double NFIN;
    int NGCON;
    double ASEO;
    double ADEO;
    double PSEO;
    double PDEO;
    double ASEJ;
    double ADEJ;
    double PSEJ;
    double PDEJ;
    double COVS;
    double COVD;
    double CGSP;
    double CGDP;
    double CDSP;
    double NRS;
    double NRD;
    double LRSD;
    double NFINNOM;
    double DELVTRAND;
    double U0MULT;
    double m;
    //  Variables of global_instance scope
    double WEFF;
    double LEFF;
    double WEFFCV;
    double LEFFCV;
    double IDS;
     double d_IDS_dTemp_t_GND;
     double d_IDS_dV_di_si;
     double d_IDS_dV_ge_e;
     double d_IDS_dV_e_si;
     double d_IDS_dV_e_di;
     double d_IDS_dV_ge_si;
     double d_IDS_dV_ge_di;
    double IDEFF;
    double ISEFF;
    double IGTOT;
    double IDSGEN;
    double III;
    double IGS;
    double IGD;
    double IGCS;
    double IGCD;
    double IGBS;
    double IGBD;
    double IGIDL;
    double IGISL;
    double IJSB;
    double IJDB;
    double ISUB;
    double BETA;
    double VTH;
    double VDSSAT;
    double VFB;
    double GM;
    double GDS;
    double GMBS;
    double QGI;
     double d_QGI_dV_di_si;
     double d_QGI_dV_e_si;
     double d_QGI_dV_e_di;
     double d_QGI_dV_ge_si;
     double d_QGI_dTemp_t_GND;
     double d_QGI_dV_ge_e;
     double d_QGI_dV_ge_di;
    double QDI;
     double d_QDI_dV_di_si;
     double d_QDI_dV_e_si;
     double d_QDI_dV_e_di;
     double d_QDI_dV_ge_si;
     double d_QDI_dTemp_t_GND;
     double d_QDI_dV_ge_e;
    double QSI;
     double d_QSI_dV_ge_di;
     double d_QSI_dV_di_si;
     double d_QSI_dV_e_si;
     double d_QSI_dV_e_di;
     double d_QSI_dV_ge_si;
     double d_QSI_dTemp_t_GND;
     double d_QSI_dV_ge_e;
    double QBI;
     double d_QBI_dV_ge_di;
     double d_QBI_dV_ge_e;
     double d_QBI_dV_e_si;
     double d_QBI_dV_e_di;
     double d_QBI_dV_ge_si;
     double d_QBI_dV_di_si;
     double d_QBI_dTemp_t_GND;
    double QG;
     double d_QG_dV_di_si;
     double d_QG_dV_e_si;
     double d_QG_dV_e_di;
     double d_QG_dV_ge_si;
     double d_QG_dTemp_t_GND;
     double d_QG_dV_ge_e;
     double d_QG_dV_ge_s;
     double d_QG_dV_ge_di;
     double d_QG_dV_ge_d;
     double d_QG_dV_e_ge;
    double QD;
     double d_QD_dV_di_si;
     double d_QD_dV_e_si;
     double d_QD_dV_e_di;
     double d_QD_dV_ge_si;
     double d_QD_dTemp_t_GND;
     double d_QD_dV_ge_e;
     double d_QD_dV_ge_d;
     double d_QD_dV_ge_di;
     double d_QD_dV_di_d;
     double d_QD_dV_si_s;
    double QS;
     double d_QS_dV_ge_di;
     double d_QS_dV_di_si;
     double d_QS_dV_e_si;
     double d_QS_dV_e_di;
     double d_QS_dV_ge_si;
     double d_QS_dTemp_t_GND;
     double d_QS_dV_ge_e;
     double d_QS_dV_ge_s;
     double d_QS_dV_di_d;
     double d_QS_dV_si_s;
    double QB;
     double d_QB_dV_ge_di;
     double d_QB_dV_ge_e;
     double d_QB_dV_e_si;
     double d_QB_dV_e_di;
     double d_QB_dV_ge_si;
     double d_QB_dV_di_si;
     double d_QB_dTemp_t_GND;
     double d_QB_dV_e_ge;
     double d_QB_dV_di_d;
     double d_QB_dV_si_s;
    double CGGI;
    double CGSI;
    double CGDI;
    double CGEI;
    double CDGI;
    double CDDI;
    double CDSI;
    double CDEI;
    double CSGI;
    double CSDI;
    double CSSI;
    double CSEI;
    double CEGI;
    double CEDI;
    double CESI;
    double CEEI;
    double CGG;
    double CGS;
    double CGD;
    double CGE;
    double CDG;
    double CDD;
    double CDS;
    double CDE;
    double CSG;
    double CSD;
    double CSS;
    double CSE;
    double CEG;
    double CED;
    double CES;
    double CEE;
    double CGSEXT;
    double CGDEXT;
    double CGBOV;
    double CJST;
    double CJDT;
    double RSGEO;
    double RDGEO;
    double CFGEO;
    double T_TOTAL_K;
    double T_TOTAL_C;
    double T_DELTA_SH;
    double IGBACC;
    double IGBINV;
    double DIDSDVG;
    double DIDSDVS;
    double DIDSDVD;
    double DIGSDVG;
    double DIGSDVS;
    double DIGSDVD;
    double DIGDDVG;
    double DIGDDVS;
    double DIGDDVD;
    double DIIIDVG;
    double DIIIDVS;
    double DIIIDVD;
    double DIGIDLDVG;
    double DIGIDLDVS;
    double DIGIDLDVD;
    double DIGISLDVG;
    double DIGISLDVS;
    double DIGISLDVD;
    double CGT;
    double CST;
    double CDT;
    double DIDSDVTH;
    double DIGSDVTH;
    double DIGDDVTH;
    double DIIIDVTH;
    double DIGIDLDVTH;
    double DIGISLDVTH;
    double DITHDVTH;
    double ITH;
     double d_ITH_dTemp_t_GND;
     double d_ITH_dV_di_si;
     double d_ITH_dV_ge_e;
     double d_ITH_dV_e_si;
     double d_ITH_dV_e_di;
     double d_ITH_dV_ge_si;
     double d_ITH_dV_ge_di;
    double DITHDVG;
    double DITHDVS;
    double DITHDVD;
    double VDSAT;
    double VDS;
    double VGS;
    double VBS;
    int devsign;
    double NFINtotal;
    double TempLast;
     double d_TempLast_dTemp_t_GND;
    double ids;
     double d_ids_dTemp_t_GND;
     double d_ids_dV_di_si;
     double d_ids_dV_ge_e;
     double d_ids_dV_e_si;
     double d_ids_dV_e_di;
     double d_ids_dV_ge_si;
     double d_ids_dV_ge_di;
    double sigvds;
    double qd;
     double d_qd_dV_di_si;
     double d_qd_dV_e_si;
     double d_qd_dV_e_di;
     double d_qd_dV_ge_si;
     double d_qd_dTemp_t_GND;
     double d_qd_dV_ge_e;
    double qg;
     double d_qg_dV_di_si;
     double d_qg_dV_e_si;
     double d_qg_dV_e_di;
     double d_qg_dV_ge_si;
     double d_qg_dTemp_t_GND;
     double d_qg_dV_ge_e;
    double qs;
     double d_qs_dV_ge_di;
     double d_qs_dV_di_si;
     double d_qs_dV_e_si;
     double d_qs_dV_e_di;
     double d_qs_dV_ge_si;
     double d_qs_dTemp_t_GND;
     double d_qs_dV_ge_e;
    double qb;
    double ni;
     double d_ni_dTemp_t_GND;
    double epssub;
    double epsratio;
    double Eg;
     double d_Eg_dTemp_t_GND;
    double Eg0;
    double Nc;
     double d_Nc_dTemp_t_GND;
    double Leff;
    double LeffCV;
    double LeffCV_acc;
    double Weff0;
    double WeffCV0;
    double cox;
    double nbody;
    double phib;
     double d_phib_dTemp_t_GND;
    double deltaPhi;
     double d_deltaPhi_dTemp_t_GND;
    double T0;
     double d_T0_dV_ge_di;
     double d_T0_dV_ge_e;
     double d_T0_dV_e_si;
     double d_T0_dV_e_di;
     double d_T0_dV_ge_si;
     double d_T0_dV_di_si;
     double d_T0_dTemp_t_GND;
    double T1;
     double d_T1_dV_di_d;
     double d_T1_dV_si_s;
     double d_T1_dV_ge_di;
     double d_T1_dV_ge_e;
     double d_T1_dV_e_si;
     double d_T1_dV_e_di;
     double d_T1_dV_ge_si;
     double d_T1_dV_di_si;
     double d_T1_dTemp_t_GND;
    double T2;
     double d_T2_dV_di_d;
     double d_T2_dV_si_s;
     double d_T2_dV_ge_di;
     double d_T2_dV_ge_e;
     double d_T2_dV_ge_si;
     double d_T2_dV_e_si;
     double d_T2_dV_e_di;
     double d_T2_dV_di_si;
     double d_T2_dTemp_t_GND;
    double T3;
     double d_T3_dV_di_d;
     double d_T3_dV_si_s;
     double d_T3_dV_ge_di;
     double d_T3_dV_ge_e;
     double d_T3_dV_di_si;
     double d_T3_dV_e_si;
     double d_T3_dV_e_di;
     double d_T3_dV_ge_si;
     double d_T3_dTemp_t_GND;
    double Vtm;
     double d_Vtm_dTemp_t_GND;
    double Vtm0;
    double Tnom;
    double TRatio;
     double d_TRatio_dTemp_t_GND;
    double dvth_temp;
     double d_dvth_temp_dTemp_t_GND;
    double delTemp;
     double d_delTemp_dTemp_t_GND;
    double ThetaSS;
     double d_ThetaSS_dTemp_t_GND;
    double K0_t;
     double d_K0_t_dTemp_t_GND;
    double K0SI_t;
     double d_K0SI_t_dTemp_t_GND;
    double K2SI_t;
     double d_K2SI_t_dTemp_t_GND;
    double K1_t;
     double d_K1_t_dTemp_t_GND;
    double K2SAT_t;
     double d_K2SAT_t_dTemp_t_GND;
    double A1_t;
     double d_A1_t_dTemp_t_GND;
    double A2_t;
     double d_A2_t_dTemp_t_GND;
    double AIGBINV_t;
     double d_AIGBINV_t_dTemp_t_GND;
    double AIGBACC_t;
     double d_AIGBACC_t_dTemp_t_GND;
    double AIGC_t;
     double d_AIGC_t_dTemp_t_GND;
    double AIGS_t;
     double d_AIGS_t_dTemp_t_GND;
    double AIGD_t;
     double d_AIGD_t_dTemp_t_GND;
    double BETA0_t;
     double d_BETA0_t_dTemp_t_GND;
    double SII0_t;
     double d_SII0_t_dTemp_t_GND;
    double BGISL_t;
     double d_BGISL_t_dTemp_t_GND;
    double BGIDL_t;
     double d_BGIDL_t_dTemp_t_GND;
    double igtemp;
     double d_igtemp_dTemp_t_GND;
    double PTWG_t;
     double d_PTWG_t_dTemp_t_GND;
    double PTWGR_t;
     double d_PTWGR_t_dTemp_t_GND;
    double ALPHA0_t;
     double d_ALPHA0_t_dTemp_t_GND;
    double ALPHA1_t;
     double d_ALPHA1_t_dTemp_t_GND;
    double ALPHAII0_t;
     double d_ALPHAII0_t_dTemp_t_GND;
    double ALPHAII1_t;
     double d_ALPHAII1_t_dTemp_t_GND;
    double CJS_t;
     double d_CJS_t_dTemp_t_GND;
    double CJSWS_t;
     double d_CJSWS_t_dTemp_t_GND;
    double CJSWGD_t;
     double d_CJSWGD_t_dTemp_t_GND;
    double CJD_t;
     double d_CJD_t_dTemp_t_GND;
    double CJSWD_t;
     double d_CJSWD_t_dTemp_t_GND;
    double CJSWGS_t;
     double d_CJSWGS_t_dTemp_t_GND;
    double PBS_t;
     double d_PBS_t_dTemp_t_GND;
    double PBSWS_t;
     double d_PBSWS_t_dTemp_t_GND;
    double PBSWGS_t;
     double d_PBSWGS_t_dTemp_t_GND;
    double PBD_t;
     double d_PBD_t_dTemp_t_GND;
    double PBSWD_t;
     double d_PBSWD_t_dTemp_t_GND;
    double PBSWGD_t;
     double d_PBSWGD_t_dTemp_t_GND;
    double JSS_t;
     double d_JSS_t_dTemp_t_GND;
    double JSWS_t;
     double d_JSWS_t_dTemp_t_GND;
    double JSWGS_t;
     double d_JSWGS_t_dTemp_t_GND;
    double JSD_t;
     double d_JSD_t_dTemp_t_GND;
    double JSWD_t;
     double d_JSWD_t_dTemp_t_GND;
    double JSWGD_t;
     double d_JSWGD_t_dTemp_t_GND;
    double JTSS_t;
     double d_JTSS_t_dTemp_t_GND;
    double JTSD_t;
     double d_JTSD_t_dTemp_t_GND;
    double JTSSWS_t;
     double d_JTSSWS_t_dTemp_t_GND;
    double JTSSWD_t;
     double d_JTSSWD_t_dTemp_t_GND;
    double JTSSWGS_t;
     double d_JTSSWGS_t_dTemp_t_GND;
    double JTSSWGD_t;
     double d_JTSSWGD_t_dTemp_t_GND;
    double NJTS_t;
     double d_NJTS_t_dTemp_t_GND;
    double NJTSD_t;
     double d_NJTSD_t_dTemp_t_GND;
    double NJTSSW_t;
     double d_NJTSSW_t_dTemp_t_GND;
    double NJTSSWD_t;
     double d_NJTSSWD_t_dTemp_t_GND;
    double NJTSSWG_t;
     double d_NJTSSWG_t_dTemp_t_GND;
    double NJTSSWGD_t;
     double d_NJTSSWGD_t_dTemp_t_GND;
    double K2_t;
     double d_K2_t_dTemp_t_GND;
    double K0SISAT_t;
     double d_K0SISAT_t_dTemp_t_GND;
    double K2SISAT_t;
     double d_K2SISAT_t_dTemp_t_GND;
    double q0;
     double d_q0_dTemp_t_GND;
     double d_q0_dV_di_si;
    double T11;
     double d_T11_dV_ge_e;
     double d_T11_dV_e_si;
     double d_T11_dV_e_di;
     double d_T11_dV_ge_si;
     double d_T11_dV_di_si;
     double d_T11_dTemp_t_GND;
    double T12;
     double d_T12_dV_ge_e;
     double d_T12_dV_e_si;
     double d_T12_dV_e_di;
     double d_T12_dV_ge_si;
     double d_T12_dV_di_si;
     double d_T12_dTemp_t_GND;
    double e0;
     double d_e0_dV_ge_e;
     double d_e0_dV_ge_si;
     double d_e0_dV_e_si;
     double d_e0_dV_e_di;
     double d_e0_dV_di_si;
     double d_e0_dTemp_t_GND;
    double e1;
     double d_e1_dV_ge_e;
     double d_e1_dV_di_si;
     double d_e1_dV_e_si;
     double d_e1_dV_e_di;
     double d_e1_dV_ge_si;
     double d_e1_dTemp_t_GND;
    double e2;
     double d_e2_dV_di_si;
     double d_e2_dV_e_si;
     double d_e2_dV_e_di;
     double d_e2_dV_ge_si;
     double d_e2_dTemp_t_GND;
    double ETA0_t;
     double d_ETA0_t_dTemp_t_GND;
    double ETA0R_t;
     double d_ETA0R_t_dTemp_t_GND;
    double scl;
    double vbi;
     double d_vbi_dTemp_t_GND;
    double tmp;
    double Theta_SCE;
    double Theta_SW;
    double Theta_DIBL;
    double Theta_RSCE;
    double Theta_DITS;
    double veseff;
     double d_veseff_dV_e_si;
     double d_veseff_dV_e_di;
     double d_veseff_dV_di_si;
     double d_veseff_dTemp_t_GND;
    double Tcen0;
    double Tcen;
     double d_Tcen_dV_ge_e;
     double d_Tcen_dV_di_si;
     double d_Tcen_dV_e_si;
     double d_Tcen_dV_e_di;
     double d_Tcen_dV_ge_si;
     double d_Tcen_dTemp_t_GND;
    double dvch_qm;
     double d_dvch_qm_dTemp_t_GND;
    double E0;
    double E0prime;
    double E1;
    double E1prime;
    double mx;
    double mxprime;
    double md;
    double mdprime;
    double gprime;
    double gfactor;
    double gam0;
     double d_gam0_dTemp_t_GND;
    double gam1;
     double d_gam1_dTemp_t_GND;
    double kT;
     double d_kT_dTemp_t_GND;
    double qis;
     double d_qis_dV_di_si;
     double d_qis_dV_e_si;
     double d_qis_dV_e_di;
     double d_qis_dV_ge_si;
     double d_qis_dTemp_t_GND;
    double qid;
     double d_qid_dV_di_si;
     double d_qid_dV_e_si;
     double d_qid_dV_e_di;
     double d_qid_dV_ge_si;
     double d_qid_dTemp_t_GND;
    double qbs;
    double qba;
     double d_qba_dTemp_t_GND;
     double d_qba_dV_di_si;
     double d_qba_dV_ge_e;
     double d_qba_dV_e_si;
     double d_qba_dV_e_di;
     double d_qba_dV_ge_si;
    double eta_mu;
     double d_eta_mu_dTemp_t_GND;
    double eta_mu_cv;
    double u0;
     double d_u0_dTemp_t_GND;
    double u0r;
     double d_u0r_dTemp_t_GND;
    double UA_t;
     double d_UA_t_dTemp_t_GND;
    double UAR_t;
     double d_UAR_t_dTemp_t_GND;
    double UC_t;
     double d_UC_t_dTemp_t_GND;
    double UCR_t;
     double d_UCR_t_dTemp_t_GND;
    double UCS_t;
     double d_UCS_t_dTemp_t_GND;
    double UD_t;
     double d_UD_t_dTemp_t_GND;
    double UDR_t;
     double d_UDR_t_dTemp_t_GND;
    double U0_t;
     double d_U0_t_dTemp_t_GND;
    double U0R_t;
     double d_U0R_t_dTemp_t_GND;
    double ETAMOB_t;
     double d_ETAMOB_t_dTemp_t_GND;
    double EeffFactor;
    double Dr;
     double d_Dr_dTemp_t_GND;
     double d_Dr_dV_di_si;
     double d_Dr_dV_ge_e;
     double d_Dr_dV_e_si;
     double d_Dr_dV_e_di;
     double d_Dr_dV_ge_si;
     double d_Dr_dV_ge_di;
    double WeffWRFactor;
    double RSourceGeo;
    double RDrainGeo;
    double RDSWMIN_i;
    double RDWMIN_i;
    double RSWMIN_i;
    double Rdrain;
     double d_Rdrain_dTemp_t_GND;
     double d_Rdrain_dV_di_d;
     double d_Rdrain_dV_si_s;
     double d_Rdrain_dV_ge_e;
     double d_Rdrain_dV_di_si;
     double d_Rdrain_dV_e_si;
     double d_Rdrain_dV_e_di;
     double d_Rdrain_dV_ge_si;
     double d_Rdrain_dV_ge_di;
    double Rsource;
     double d_Rsource_dTemp_t_GND;
     double d_Rsource_dV_si_s;
     double d_Rsource_dV_ge_e;
     double d_Rsource_dV_di_si;
     double d_Rsource_dV_e_si;
     double d_Rsource_dV_e_di;
     double d_Rsource_dV_ge_si;
    double rdstemp;
     double d_rdstemp_dTemp_t_GND;
    double Rdsi;
     double d_Rdsi_dTemp_t_GND;
     double d_Rdsi_dV_ge_di;
     double d_Rdsi_dV_ge_e;
     double d_Rdsi_dV_e_si;
     double d_Rdsi_dV_e_di;
     double d_Rdsi_dV_ge_si;
     double d_Rdsi_dV_di_si;
    double RSDR_t;
     double d_RSDR_t_dTemp_t_GND;
    double RSDRR_t;
     double d_RSDRR_t_dTemp_t_GND;
    double RDDR_t;
     double d_RDDR_t_dTemp_t_GND;
    double RDDRR_t;
     double d_RDDRR_t_dTemp_t_GND;
    double VSAT_t;
     double d_VSAT_t_dTemp_t_GND;
    double VSAT1_t;
     double d_VSAT1_t_dTemp_t_GND;
    double VSAT1R_t;
     double d_VSAT1R_t_dTemp_t_GND;
    double VSATCV_t;
     double d_VSATCV_t_dTemp_t_GND;
    double MEXP_t;
     double d_MEXP_t_dTemp_t_GND;
    double MEXPR_t;
     double d_MEXPR_t_dTemp_t_GND;
    double Tb;
     double d_Tb_dV_di_si;
     double d_Tb_dV_e_si;
     double d_Tb_dV_e_di;
     double d_Tb_dV_ge_si;
     double d_Tb_dTemp_t_GND;
    double VSAT_a;
     double d_VSAT_a_dTemp_t_GND;
     double d_VSAT_a_dV_di_si;
    double Cfr_geo;
    double ggeltd;
    double igbinv;
     double d_igbinv_dV_ge_e;
     double d_igbinv_dV_di_si;
     double d_igbinv_dTemp_t_GND;
     double d_igbinv_dV_e_si;
     double d_igbinv_dV_e_di;
     double d_igbinv_dV_ge_si;
     double d_igbinv_dV_ge_di;
     double d_igbinv_dV_di_d;
     double d_igbinv_dV_si_s;
    double igsd_mult;
     double d_igsd_mult_dTemp_t_GND;
    double igsd_mult0;
    double igbs;
     double d_igbs_dV_ge_e;
     double d_igbs_dV_di_si;
     double d_igbs_dTemp_t_GND;
     double d_igbs_dV_e_si;
     double d_igbs_dV_e_di;
     double d_igbs_dV_ge_si;
     double d_igbs_dV_ge_di;
     double d_igbs_dV_di_d;
     double d_igbs_dV_si_s;
    double igbd;
     double d_igbd_dV_ge_e;
     double d_igbd_dV_di_si;
     double d_igbd_dTemp_t_GND;
     double d_igbd_dV_e_si;
     double d_igbd_dV_e_di;
     double d_igbd_dV_ge_si;
     double d_igbd_dV_ge_di;
     double d_igbd_dV_di_d;
     double d_igbd_dV_si_s;
    double igbacc;
     double d_igbacc_dV_ge_e;
     double d_igbacc_dV_di_si;
     double d_igbacc_dTemp_t_GND;
     double d_igbacc_dV_e_si;
     double d_igbacc_dV_e_di;
     double d_igbacc_dV_ge_si;
     double d_igbacc_dV_ge_di;
     double d_igbacc_dV_di_d;
     double d_igbacc_dV_si_s;
    double igcs;
     double d_igcs_dV_ge_di;
     double d_igcs_dV_ge_e;
     double d_igcs_dV_di_si;
     double d_igcs_dV_e_si;
     double d_igcs_dV_e_di;
     double d_igcs_dV_ge_si;
     double d_igcs_dTemp_t_GND;
     double d_igcs_dV_di_d;
     double d_igcs_dV_si_s;
    double igcd;
     double d_igcd_dV_ge_di;
     double d_igcd_dV_ge_e;
     double d_igcd_dV_di_si;
     double d_igcd_dV_e_si;
     double d_igcd_dV_e_di;
     double d_igcd_dV_ge_si;
     double d_igcd_dTemp_t_GND;
     double d_igcd_dV_di_d;
     double d_igcd_dV_si_s;
    double igisl;
     double d_igisl_dV_ge_di;
     double d_igisl_dV_di_d;
     double d_igisl_dV_si_s;
     double d_igisl_dV_ge_e;
     double d_igisl_dV_di_si;
     double d_igisl_dTemp_t_GND;
     double d_igisl_dV_e_si;
     double d_igisl_dV_e_di;
     double d_igisl_dV_ge_si;
    double igidl;
     double d_igidl_dV_ge_di;
     double d_igidl_dV_di_d;
     double d_igidl_dV_si_s;
     double d_igidl_dV_ge_e;
     double d_igidl_dV_di_si;
     double d_igidl_dTemp_t_GND;
     double d_igidl_dV_e_si;
     double d_igidl_dV_e_di;
     double d_igidl_dV_ge_si;
    double vfbsd;
     double d_vfbsd_dTemp_t_GND;
    double igs;
     double d_igs_dTemp_t_GND;
     double d_igs_dV_ge_si;
     double d_igs_dV_ge_di;
     double d_igs_dV_ge_e;
     double d_igs_dV_e_si;
     double d_igs_dV_e_di;
     double d_igs_dV_di_si;
    double igd;
     double d_igd_dTemp_t_GND;
     double d_igd_dV_ge_si;
     double d_igd_dV_ge_di;
     double d_igd_dV_ge_e;
     double d_igd_dV_e_si;
     double d_igd_dV_e_di;
     double d_igd_dV_di_si;
    double Aechvb;
    double Bechvb;
    double Toxratio;
    double Iii;
     double d_Iii_dV_ge_di;
     double d_Iii_dV_ge_e;
     double d_Iii_dV_e_si;
     double d_Iii_dV_e_di;
     double d_Iii_dV_ge_si;
     double d_Iii_dV_di_si;
     double d_Iii_dTemp_t_GND;
    double cox_acc;
     double d_cox_acc_dV_ge_e;
     double d_cox_acc_dV_di_si;
     double d_cox_acc_dV_e_si;
     double d_cox_acc_dV_e_di;
     double d_cox_acc_dV_ge_si;
     double d_cox_acc_dTemp_t_GND;
    double qg_acc;
     double d_qg_acc_dV_ge_di;
     double d_qg_acc_dV_ge_e;
     double d_qg_acc_dV_e_si;
     double d_qg_acc_dV_e_di;
     double d_qg_acc_dV_ge_si;
     double d_qg_acc_dV_di_si;
     double d_qg_acc_dTemp_t_GND;
    double qb_acc;
     double d_qb_acc_dV_ge_di;
     double d_qb_acc_dV_ge_e;
     double d_qb_acc_dV_e_si;
     double d_qb_acc_dV_e_di;
     double d_qb_acc_dV_ge_si;
     double d_qb_acc_dV_di_si;
     double d_qb_acc_dTemp_t_GND;
    double qgs_fr;
     double d_qgs_fr_dV_ge_s;
     double d_qgs_fr_dV_ge_di;
     double d_qgs_fr_dV_ge_e;
     double d_qgs_fr_dV_e_si;
     double d_qgs_fr_dV_e_di;
     double d_qgs_fr_dV_ge_si;
     double d_qgs_fr_dV_di_si;
     double d_qgs_fr_dTemp_t_GND;
    double qgd_fr;
     double d_qgd_fr_dV_ge_d;
     double d_qgd_fr_dV_ge_di;
     double d_qgd_fr_dV_ge_e;
     double d_qgd_fr_dV_e_si;
     double d_qgd_fr_dV_e_di;
     double d_qgd_fr_dV_ge_si;
     double d_qgd_fr_dV_di_si;
     double d_qgd_fr_dTemp_t_GND;
    double qds_fr;
     double d_qds_fr_dV_d_s;
    double qgs_parasitic;
     double d_qgs_parasitic_dV_ge_s;
     double d_qgs_parasitic_dV_ge_di;
     double d_qgs_parasitic_dV_ge_e;
     double d_qgs_parasitic_dV_e_si;
     double d_qgs_parasitic_dV_e_di;
     double d_qgs_parasitic_dV_ge_si;
     double d_qgs_parasitic_dV_di_si;
     double d_qgs_parasitic_dTemp_t_GND;
    double qgd_parasitic;
     double d_qgd_parasitic_dV_ge_d;
     double d_qgd_parasitic_dV_ge_di;
     double d_qgd_parasitic_dV_ge_e;
     double d_qgd_parasitic_dV_e_si;
     double d_qgd_parasitic_dV_e_di;
     double d_qgd_parasitic_dV_ge_si;
     double d_qgd_parasitic_dV_di_si;
     double d_qgd_parasitic_dTemp_t_GND;
    double Qes;
     double d_Qes_dV_di_d;
     double d_Qes_dV_si_s;
     double d_Qes_dTemp_t_GND;
     double d_Qes_dV_ge_di;
     double d_Qes_dV_ge_e;
     double d_Qes_dV_e_si;
     double d_Qes_dV_e_di;
     double d_Qes_dV_ge_si;
     double d_Qes_dV_di_si;
    double Qed;
     double d_Qed_dV_di_d;
     double d_Qed_dV_si_s;
     double d_Qed_dTemp_t_GND;
     double d_Qed_dV_ge_di;
     double d_Qed_dV_ge_e;
     double d_Qed_dV_e_si;
     double d_Qed_dV_e_di;
     double d_Qed_dV_ge_si;
     double d_Qed_dV_di_si;
    double Qeg;
     double d_Qeg_dV_ge_di;
     double d_Qeg_dV_ge_e;
     double d_Qeg_dV_di_si;
     double d_Qeg_dV_e_si;
     double d_Qeg_dV_e_di;
     double d_Qeg_dV_ge_si;
     double d_Qeg_dTemp_t_GND;
     double d_Qeg_dV_e_ge;
    double csbox;
    double cdbox;
    double cgbox;
    double vfbsdcv;
     double d_vfbsdcv_dTemp_t_GND;
    double Ies;
     double d_Ies_dV_ge_di;
     double d_Ies_dV_ge_e;
     double d_Ies_dV_e_si;
     double d_Ies_dV_e_di;
     double d_Ies_dV_ge_si;
     double d_Ies_dV_di_si;
     double d_Ies_dTemp_t_GND;
    double Ied;
     double d_Ied_dV_ge_di;
     double d_Ied_dV_ge_e;
     double d_Ied_dV_e_si;
     double d_Ied_dV_e_di;
     double d_Ied_dV_ge_si;
     double d_Ied_dV_di_si;
     double d_Ied_dTemp_t_GND;
    double Czbs;
     double d_Czbs_dTemp_t_GND;
    double Czbssw;
     double d_Czbssw_dTemp_t_GND;
    double Czbsswg;
     double d_Czbsswg_dTemp_t_GND;
    double Czbd;
     double d_Czbd_dTemp_t_GND;
    double Czbdsw;
     double d_Czbdsw_dTemp_t_GND;
    double Czbdswg;
     double d_Czbdswg_dTemp_t_GND;
    double Isbs;
     double d_Isbs_dTemp_t_GND;
    double Isbd;
     double d_Isbd_dTemp_t_GND;
    double Nvtms;
     double d_Nvtms_dTemp_t_GND;
    double Nvtmd;
     double d_Nvtmd_dTemp_t_GND;
    double SslpRev;
     double d_SslpRev_dTemp_t_GND;
    double IVjsmRev;
     double d_IVjsmRev_dTemp_t_GND;
    double VjsmRev;
     double d_VjsmRev_dTemp_t_GND;
    double SslpFwd;
     double d_SslpFwd_dTemp_t_GND;
    double IVjsmFwd;
     double d_IVjsmFwd_dTemp_t_GND;
    double VjsmFwd;
     double d_VjsmFwd_dTemp_t_GND;
    double XExpBVS;
     double d_XExpBVS_dTemp_t_GND;
    double DslpRev;
     double d_DslpRev_dTemp_t_GND;
    double IVjdmRev;
     double d_IVjdmRev_dTemp_t_GND;
    double VjdmRev;
     double d_VjdmRev_dTemp_t_GND;
    double DslpFwd;
     double d_DslpFwd_dTemp_t_GND;
    double IVjdmFwd;
     double d_IVjdmFwd_dTemp_t_GND;
    double VjdmFwd;
     double d_VjdmFwd_dTemp_t_GND;
    double XExpBVD;
     double d_XExpBVD_dTemp_t_GND;
    double igentemp;
     double d_igentemp_dTemp_t_GND;
    double idsgen;
     double d_idsgen_dTemp_t_GND;
     double d_idsgen_dV_ge_di;
     double d_idsgen_dV_ge_e;
     double d_idsgen_dV_e_si;
     double d_idsgen_dV_e_di;
     double d_idsgen_dV_ge_si;
     double d_idsgen_dV_di_si;
    double LINTIGEN_i;
    double LINTNOI_i;
    double litl;
    double FNPowerAt1Hz;
    double NTNOI_i;
    double Gtnoi;
    double sid;
    double gspr;
    double gdpr;
    double gamma;
     double d_gamma_dV_ge_di;
     double d_gamma_dV_di_d;
     double d_gamma_dV_si_s;
     double d_gamma_dV_ge_e;
     double d_gamma_dV_di_si;
     double d_gamma_dTemp_t_GND;
     double d_gamma_dV_e_si;
     double d_gamma_dV_e_di;
     double d_gamma_dV_ge_si;
    double delta;
     double d_delta_dV_di_d;
     double d_delta_dV_si_s;
     double d_delta_dV_ge_di;
     double d_delta_dV_ge_e;
     double d_delta_dV_e_si;
     double d_delta_dV_e_di;
     double d_delta_dV_ge_si;
     double d_delta_dV_di_si;
     double d_delta_dTemp_t_GND;
    double ctnoi;
     double d_ctnoi_dV_ge_di;
     double d_ctnoi_dV_di_d;
     double d_ctnoi_dV_si_s;
     double d_ctnoi_dV_ge_e;
     double d_ctnoi_dV_di_si;
     double d_ctnoi_dV_e_si;
     double d_ctnoi_dV_e_di;
     double d_ctnoi_dV_ge_si;
     double d_ctnoi_dTemp_t_GND;
    double C0;
     double d_C0_dV_ge_e;
     double d_C0_dV_di_si;
     double d_C0_dV_e_si;
     double d_C0_dV_e_di;
     double d_C0_dV_ge_si;
     double d_C0_dTemp_t_GND;
    double sf;
     double d_sf_dTemp_t_GND;
     double d_sf_dV_di_si;
     double d_sf_dV_e_si;
     double d_sf_dV_e_di;
     double d_sf_dV_ge_si;
     double d_sf_dV_ge_di;
     double d_sf_dV_di_d;
     double d_sf_dV_si_s;
     double d_sf_dV_ge_e;
    double gth;
    double cth;
    double PHIG_i;
    double CFD_i;
    double CFS_i;
    double COVS_i;
     double d_COVS_i_dV_ge_di;
     double d_COVS_i_dV_ge_e;
     double d_COVS_i_dV_e_si;
     double d_COVS_i_dV_e_di;
     double d_COVS_i_dV_ge_si;
     double d_COVS_i_dV_di_si;
     double d_COVS_i_dTemp_t_GND;
    double COVD_i;
     double d_COVD_i_dV_ge_di;
     double d_COVD_i_dV_ge_e;
     double d_COVD_i_dV_e_si;
     double d_COVD_i_dV_e_di;
     double d_COVD_i_dV_ge_si;
     double d_COVD_i_dV_di_si;
     double d_COVD_i_dTemp_t_GND;
    double CGSO_i;
    double CGDO_i;
    double CGSL_i;
    double CGDL_i;
    double CGBL_i;
    double CKAPPAS_i;
    double CKAPPAD_i;
    double CKAPPAB_i;
    double QMFACTOR_i;
    double QMTCENCV_i;
    double QMTCENCVA_i;
    double KSATIV_i;
    double KSATIVR_i;
    double CDSC_i;
    double CDSCD_i;
    double CDSCDR_i;
    double CIT_i;
    double DVT0_i;
    double CITR_i;
    double PHIN_i;
    double ETA0_i;
    double ETA0R_i;
    double VSAT_i;
    double VSATR_i;
    double VSATR_t;
     double d_VSATR_t_dTemp_t_GND;
    double DVTP0_i;
    double DVTP1_i;
    double K0_i;
    double K01_i;
    double K0SI_i;
    double K0SI1_i;
    double K2SI_i;
    double K2SI1_i;
    double PHIBE_i;
    double K1_i;
    double K11_i;
    double K2SAT_i;
    double K2SAT1_i;
    double DELTAVSAT_i;
    double PSAT_i;
    double DELTAVSATCV_i;
    double PSATCV_i;
    double VSAT1_i;
    double VSAT1R_i;
    double PTWG_i;
    double PTWGR_i;
    double VSATCV_i;
    double U0_i;
    double U0R_i;
    double ETAMOB_i;
    double NGATE_i;
    double RDSW_i;
    double PRWGS_i;
    double PRWGD_i;
    double PDIBL1_i;
    double PDIBL1R_i;
    double PDIBL2_i;
    double PDIBL2R_i;
    double DROUT_i;
    double PVAG_i;
    double AIGBINV_i;
    double AIGBINV1_i;
    double BIGBINV_i;
    double CIGBINV_i;
    double EIGBINV_i;
    double NIGBINV_i;
    double AIGBACC_i;
    double AIGBACC1_i;
    double BIGBACC_i;
    double CIGBACC_i;
    double NIGBACC_i;
    double AIGC_i;
    double AIGC1_i;
    double BIGC_i;
    double CIGC_i;
    double PIGCD_i;
    double AIGS_i;
    double AIGS1_i;
    double BIGS_i;
    double CIGS_i;
    double POXEDGE_i;
    double AIGD_i;
    double AIGD1_i;
    double BIGD_i;
    double CIGD_i;
    double AGIDL_i;
    double BGIDL_i;
    double CGIDL_i;
    double EGIDL_i;
    double PGIDL_i;
    double AGISL_i;
    double BGISL_i;
    double CGISL_i;
    double EGISL_i;
    double PGISL_i;
    double ALPHA0_i;
    double ALPHA1_i;
    double ALPHAII0_i;
    double ALPHAII1_i;
    double BETA0_i;
    double BETAII0_i;
    double BETAII1_i;
    double BETAII2_i;
    double ESATII_i;
    double LII_i;
    double SII0_i;
    double SII1_i;
    double SII2_i;
    double SIID_i;
    double TII_i;
    double MEXP_i;
    double MEXPR_i;
    double PCLM_i;
    double PCLMG_i;
    double PCLMCV_i;
    double PCLMR_i;
    double A1_i;
    double A2_i;
    double A11_i;
    double A21_i;
    double K1RSCE_i;
    double DVTSHIFT_i;
    double DVTSHIFTR_i;
    double UA_i;
    double UC_i;
    double EU_i;
    double UD_i;
    double UCS_i;
    double UAR_i;
    double EUR_i;
    double UCR_i;
    double UDR_i;
    double UA1_i;
    double UA1R_i;
    double UC1_i;
    double UD1_i;
    double UCSTE_i;
    double UTE_i;
    double UTL_i;
    double EMOBT_i;
    double UC1R_i;
    double UD1R_i;
    double UTER_i;
    double UTLR_i;
    double PTWGT_i;
    double AT_i;
    double ATCV_i;
    double ATR_i;
    double RDW_i;
    double RSW_i;
    double PRT_i;
    double KT1_i;
    double TSS_i;
    double IIT_i;
    double IGT_i;
    double TGIDL_i;
    double NTGEN_i;
    double AIGEN_i;
    double BIGEN_i;
    double K0SISAT_i;
    double K0SISAT1_i;
    double K2SISAT_i;
    double K2SISAT1_i;
    double K2_i;
    double K21_i;
    double Cins;
    double Ach;
    double Weff_UFCM;
    double qdep;
     double d_qdep_dTemp_t_GND;
     double d_qdep_dV_di_si;
    double rc;
    double vth_fixed_factor_Sub;
     double d_vth_fixed_factor_Sub_dTemp_t_GND;
     double d_vth_fixed_factor_Sub_dV_di_si;
    double vth_fixed_factor_SI;
     double d_vth_fixed_factor_SI_dTemp_t_GND;
     double d_vth_fixed_factor_SI_dV_di_si;
    double qm;
     double d_qm_dV_di_si;
     double d_qm_dV_e_si;
     double d_qm_dV_e_di;
     double d_qm_dV_ge_si;
     double d_qm_dTemp_t_GND;
    double Qdep_ov_Cins;
    double qi_acc_for_QM;
     double d_qi_acc_for_QM_dTemp_t_GND;
     double d_qi_acc_for_QM_dV_di_si;
     double d_qi_acc_for_QM_dV_ge_e;
     double d_qi_acc_for_QM_dV_e_si;
     double d_qi_acc_for_QM_dV_e_di;
     double d_qi_acc_for_QM_dV_ge_si;
    double fieldnormalizationfactor;
     double d_fieldnormalizationfactor_dTemp_t_GND;
    double auxQMfact;
    double QMFACTORCVfinal;
     double d_QMFACTORCVfinal_dTemp_t_GND;
    double psipclamp;
     double d_psipclamp_dV_ge_e;
     double d_psipclamp_dV_di_si;
     double d_psipclamp_dV_e_si;
     double d_psipclamp_dV_e_di;
     double d_psipclamp_dV_ge_si;
     double d_psipclamp_dTemp_t_GND;
    double sqrtpsip;
     double d_sqrtpsip_dV_ge_e;
     double d_sqrtpsip_dV_di_si;
     double d_sqrtpsip_dV_e_si;
     double d_sqrtpsip_dV_e_di;
     double d_sqrtpsip_dV_ge_si;
     double d_sqrtpsip_dTemp_t_GND;
    double nq;
     double d_nq_dTemp_t_GND;
     double d_nq_dV_di_si;
     double d_nq_dV_ge_e;
     double d_nq_dV_e_si;
     double d_nq_dV_e_di;
     double d_nq_dV_ge_si;
    double F0;
     double d_F0_dV_ge_si;
     double d_F0_dV_e_si;
     double d_F0_dV_e_di;
     double d_F0_dV_di_si;
     double d_F0_dTemp_t_GND;
    // end verilog Instance Variables=====
    // Nodal LID Variables
    int li_d;
    int li_g;
    int li_s;
    int li_e;
    int li_t;
    int li_si;
    int li_di;
    int li_ge;
    int li_N;
    // end Nodal LID Variables
    // Branch LID Variables
    // end Branch LID Variables
    // Lead (branch) LID Variables
    int li_branch_id;
    int li_branch_ig;
    int li_branch_is;
    int li_branch_ie;
    int li_branch_it;
    // end Lead (branch) LID Variables
    // Jacobian  pointers
    double * f_di_Equ_ge_Node_Ptr;
    double * f_di_Equ_di_Node_Ptr;
    double * f_si_Equ_ge_Node_Ptr;
    double * f_si_Equ_di_Node_Ptr;
    double * f_di_Equ_si_Node_Ptr;
    double * f_si_Equ_si_Node_Ptr;
    double * f_di_Equ_e_Node_Ptr;
    double * f_si_Equ_e_Node_Ptr;
    double * f_di_Equ_t_Node_Ptr;
    double * f_si_Equ_t_Node_Ptr;
    double * f_ge_Equ_ge_Node_Ptr;
    double * f_ge_Equ_e_Node_Ptr;
    double * f_ge_Equ_t_Node_Ptr;
    double * f_ge_Equ_si_Node_Ptr;
    double * f_ge_Equ_di_Node_Ptr;
    double * f_ge_Equ_s_Node_Ptr;
    double * f_si_Equ_s_Node_Ptr;
    double * f_ge_Equ_d_Node_Ptr;
    double * f_si_Equ_d_Node_Ptr;
    double * f_di_Equ_s_Node_Ptr;
    double * f_di_Equ_d_Node_Ptr;
    double * f_e_Equ_ge_Node_Ptr;
    double * f_e_Equ_si_Node_Ptr;
    double * f_e_Equ_e_Node_Ptr;
    double * f_e_Equ_di_Node_Ptr;
    double * f_e_Equ_t_Node_Ptr;
    double * f_e_Equ_s_Node_Ptr;
    double * f_e_Equ_d_Node_Ptr;
    double * f_d_Equ_d_Node_Ptr;
    double * f_d_Equ_s_Node_Ptr;
    double * f_s_Equ_d_Node_Ptr;
    double * f_s_Equ_s_Node_Ptr;
    double * f_s_Equ_t_Node_Ptr;
    double * f_s_Equ_di_Node_Ptr;
    double * f_s_Equ_si_Node_Ptr;
    double * f_s_Equ_ge_Node_Ptr;
    double * f_s_Equ_e_Node_Ptr;
    double * f_d_Equ_t_Node_Ptr;
    double * f_d_Equ_di_Node_Ptr;
    double * f_d_Equ_si_Node_Ptr;
    double * f_d_Equ_ge_Node_Ptr;
    double * f_d_Equ_e_Node_Ptr;
    double * f_g_Equ_g_Node_Ptr;
    double * f_g_Equ_ge_Node_Ptr;
    double * f_ge_Equ_g_Node_Ptr;
    double * f_g_Equ_t_Node_Ptr;
    double * f_di_Equ_N_Node_Ptr;
    double * f_si_Equ_N_Node_Ptr;
    double * f_N_Equ_ge_Node_Ptr;
    double * f_N_Equ_e_Node_Ptr;
    double * f_N_Equ_si_Node_Ptr;
    double * f_N_Equ_s_Node_Ptr;
    double * f_N_Equ_di_Node_Ptr;
    double * f_N_Equ_d_Node_Ptr;
    double * f_N_Equ_t_Node_Ptr;
    double * f_N_Equ_N_Node_Ptr;
    double * f_ge_Equ_N_Node_Ptr;
    double * f_t_Equ_s_Node_Ptr;
    double * f_t_Equ_si_Node_Ptr;
    double * f_t_Equ_di_Node_Ptr;
    double * f_t_Equ_d_Node_Ptr;
    double * f_t_Equ_ge_Node_Ptr;
    double * f_t_Equ_e_Node_Ptr;
    double * f_t_Equ_t_Node_Ptr;
    double * q_di_Equ_ge_Node_Ptr;
    double * q_di_Equ_di_Node_Ptr;
    double * q_si_Equ_ge_Node_Ptr;
    double * q_si_Equ_di_Node_Ptr;
    double * q_di_Equ_si_Node_Ptr;
    double * q_si_Equ_si_Node_Ptr;
    double * q_di_Equ_e_Node_Ptr;
    double * q_si_Equ_e_Node_Ptr;
    double * q_di_Equ_t_Node_Ptr;
    double * q_si_Equ_t_Node_Ptr;
    double * q_ge_Equ_ge_Node_Ptr;
    double * q_ge_Equ_e_Node_Ptr;
    double * q_ge_Equ_t_Node_Ptr;
    double * q_ge_Equ_si_Node_Ptr;
    double * q_ge_Equ_di_Node_Ptr;
    double * q_ge_Equ_s_Node_Ptr;
    double * q_si_Equ_s_Node_Ptr;
    double * q_ge_Equ_d_Node_Ptr;
    double * q_si_Equ_d_Node_Ptr;
    double * q_di_Equ_s_Node_Ptr;
    double * q_di_Equ_d_Node_Ptr;
    double * q_e_Equ_ge_Node_Ptr;
    double * q_e_Equ_si_Node_Ptr;
    double * q_e_Equ_e_Node_Ptr;
    double * q_e_Equ_di_Node_Ptr;
    double * q_e_Equ_t_Node_Ptr;
    double * q_e_Equ_s_Node_Ptr;
    double * q_e_Equ_d_Node_Ptr;
    double * q_d_Equ_d_Node_Ptr;
    double * q_d_Equ_s_Node_Ptr;
    double * q_s_Equ_d_Node_Ptr;
    double * q_s_Equ_s_Node_Ptr;
    double * q_s_Equ_t_Node_Ptr;
    double * q_s_Equ_di_Node_Ptr;
    double * q_s_Equ_si_Node_Ptr;
    double * q_s_Equ_ge_Node_Ptr;
    double * q_s_Equ_e_Node_Ptr;
    double * q_d_Equ_t_Node_Ptr;
    double * q_d_Equ_di_Node_Ptr;
    double * q_d_Equ_si_Node_Ptr;
    double * q_d_Equ_ge_Node_Ptr;
    double * q_d_Equ_e_Node_Ptr;
    double * q_g_Equ_g_Node_Ptr;
    double * q_g_Equ_ge_Node_Ptr;
    double * q_ge_Equ_g_Node_Ptr;
    double * q_g_Equ_t_Node_Ptr;
    double * q_di_Equ_N_Node_Ptr;
    double * q_si_Equ_N_Node_Ptr;
    double * q_N_Equ_ge_Node_Ptr;
    double * q_N_Equ_e_Node_Ptr;
    double * q_N_Equ_si_Node_Ptr;
    double * q_N_Equ_s_Node_Ptr;
    double * q_N_Equ_di_Node_Ptr;
    double * q_N_Equ_d_Node_Ptr;
    double * q_N_Equ_t_Node_Ptr;
    double * q_N_Equ_N_Node_Ptr;
    double * q_ge_Equ_N_Node_Ptr;
    double * q_t_Equ_s_Node_Ptr;
    double * q_t_Equ_si_Node_Ptr;
    double * q_t_Equ_di_Node_Ptr;
    double * q_t_Equ_d_Node_Ptr;
    double * q_t_Equ_ge_Node_Ptr;
    double * q_t_Equ_e_Node_Ptr;
    double * q_t_Equ_t_Node_Ptr;
    // Jacobian offsets
    int A_di_Equ_ge_NodeOffset;
    int A_di_Equ_di_NodeOffset;
    int A_si_Equ_ge_NodeOffset;
    int A_si_Equ_di_NodeOffset;
    int A_di_Equ_si_NodeOffset;
    int A_si_Equ_si_NodeOffset;
    int A_di_Equ_e_NodeOffset;
    int A_si_Equ_e_NodeOffset;
    int A_di_Equ_t_NodeOffset;
    int A_si_Equ_t_NodeOffset;
    int A_ge_Equ_ge_NodeOffset;
    int A_ge_Equ_e_NodeOffset;
    int A_ge_Equ_t_NodeOffset;
    int A_ge_Equ_si_NodeOffset;
    int A_ge_Equ_di_NodeOffset;
    int A_ge_Equ_s_NodeOffset;
    int A_si_Equ_s_NodeOffset;
    int A_ge_Equ_d_NodeOffset;
    int A_si_Equ_d_NodeOffset;
    int A_di_Equ_s_NodeOffset;
    int A_di_Equ_d_NodeOffset;
    int A_e_Equ_ge_NodeOffset;
    int A_e_Equ_si_NodeOffset;
    int A_e_Equ_e_NodeOffset;
    int A_e_Equ_di_NodeOffset;
    int A_e_Equ_t_NodeOffset;
    int A_e_Equ_s_NodeOffset;
    int A_e_Equ_d_NodeOffset;
    int A_d_Equ_d_NodeOffset;
    int A_d_Equ_s_NodeOffset;
    int A_s_Equ_d_NodeOffset;
    int A_s_Equ_s_NodeOffset;
    int A_s_Equ_t_NodeOffset;
    int A_s_Equ_di_NodeOffset;
    int A_s_Equ_si_NodeOffset;
    int A_s_Equ_ge_NodeOffset;
    int A_s_Equ_e_NodeOffset;
    int A_d_Equ_t_NodeOffset;
    int A_d_Equ_di_NodeOffset;
    int A_d_Equ_si_NodeOffset;
    int A_d_Equ_ge_NodeOffset;
    int A_d_Equ_e_NodeOffset;
    int A_g_Equ_g_NodeOffset;
    int A_g_Equ_ge_NodeOffset;
    int A_ge_Equ_g_NodeOffset;
    int A_g_Equ_t_NodeOffset;
    int A_di_Equ_N_NodeOffset;
    int A_si_Equ_N_NodeOffset;
    int A_N_Equ_ge_NodeOffset;
    int A_N_Equ_e_NodeOffset;
    int A_N_Equ_si_NodeOffset;
    int A_N_Equ_s_NodeOffset;
    int A_N_Equ_di_NodeOffset;
    int A_N_Equ_d_NodeOffset;
    int A_N_Equ_t_NodeOffset;
    int A_N_Equ_N_NodeOffset;
    int A_ge_Equ_N_NodeOffset;
    int A_t_Equ_s_NodeOffset;
    int A_t_Equ_si_NodeOffset;
    int A_t_Equ_di_NodeOffset;
    int A_t_Equ_d_NodeOffset;
    int A_t_Equ_ge_NodeOffset;
    int A_t_Equ_e_NodeOffset;
    int A_t_Equ_t_NodeOffset;
    // end of Jacobian and pointers
   // node numbers
    static const int admsNodeID_d = 0;
    static const int admsNodeID_g = 1;
    static const int admsNodeID_s = 2;
    static const int admsNodeID_e = 3;
// optional node t:
    static const int admsNodeID_t = 4;
    static const int admsNodeID_si = 0+5;
    static const int admsNodeID_di = 1+5;
    static const int admsNodeID_ge = 2+5;
    static const int admsNodeID_N = 3+5;
    static const int admsNodeID_GND = -1;
   // end node numbers
   // Additional IDs for branch equations
   // end branch numbers
   // Probe numbers
    static const int admsProbeID_V_si_GND = 0;
    static const int admsProbeID_V_e_GND = 1;
    static const int admsProbeID_V_di_GND = 2;
    static const int admsProbeID_V_ge_GND = 3;
    static const int admsProbeID_V_N_GND = 4;
    static const int admsProbeID_V_g_ge = 5;
    static const int admsProbeID_V_s_si = 6;
    static const int admsProbeID_V_d_di = 7;
    static const int admsProbeID_V_e_ge = 8;
    static const int admsProbeID_V_ge_d = 9;
    static const int admsProbeID_V_ge_s = 10;
    static const int admsProbeID_V_di_d = 11;
    static const int admsProbeID_V_si_s = 12;
    static const int admsProbeID_V_e_s = 13;
    static const int admsProbeID_V_d_s = 14;
    static const int admsProbeID_V_g_s = 15;
    static const int admsProbeID_V_ge_e = 16;
    static const int admsProbeID_V_e_di = 17;
    static const int admsProbeID_V_e_si = 18;
    static const int admsProbeID_V_ge_di = 19;
    static const int admsProbeID_V_di_si = 20;
    static const int admsProbeID_V_ge_si = 21;
    static const int admsProbeID_Temp_t_GND = 22;
   // end probe numbers
   // Store LIDs
   // end store LIDs
   // Store LIDs for output vars
    int li_store_WEFF;
    int li_store_LEFF;
    int li_store_WEFFCV;
    int li_store_LEFFCV;
    int li_store_IDS;
    int li_store_IDEFF;
    int li_store_ISEFF;
    int li_store_IGTOT;
    int li_store_IDSGEN;
    int li_store_III;
    int li_store_IGS;
    int li_store_IGD;
    int li_store_IGCS;
    int li_store_IGCD;
    int li_store_IGBS;
    int li_store_IGBD;
    int li_store_IGIDL;
    int li_store_IGISL;
    int li_store_IJSB;
    int li_store_IJDB;
    int li_store_ISUB;
    int li_store_BETA;
    int li_store_VTH;
    int li_store_VDSSAT;
    int li_store_VFB;
    int li_store_GM;
    int li_store_GDS;
    int li_store_GMBS;
    int li_store_QGI;
    int li_store_QDI;
    int li_store_QSI;
    int li_store_QBI;
    int li_store_QG;
    int li_store_QD;
    int li_store_QS;
    int li_store_QB;
    int li_store_CGGI;
    int li_store_CGSI;
    int li_store_CGDI;
    int li_store_CGEI;
    int li_store_CDGI;
    int li_store_CDDI;
    int li_store_CDSI;
    int li_store_CDEI;
    int li_store_CSGI;
    int li_store_CSDI;
    int li_store_CSSI;
    int li_store_CSEI;
    int li_store_CEGI;
    int li_store_CEDI;
    int li_store_CESI;
    int li_store_CEEI;
    int li_store_CGG;
    int li_store_CGS;
    int li_store_CGD;
    int li_store_CGE;
    int li_store_CDG;
    int li_store_CDD;
    int li_store_CDS;
    int li_store_CDE;
    int li_store_CSG;
    int li_store_CSD;
    int li_store_CSS;
    int li_store_CSE;
    int li_store_CEG;
    int li_store_CED;
    int li_store_CES;
    int li_store_CEE;
    int li_store_CGSEXT;
    int li_store_CGDEXT;
    int li_store_CGBOV;
    int li_store_CJST;
    int li_store_CJDT;
    int li_store_RSGEO;
    int li_store_RDGEO;
    int li_store_CFGEO;
    int li_store_T_TOTAL_K;
    int li_store_T_TOTAL_C;
    int li_store_T_DELTA_SH;
    int li_store_IGBACC;
    int li_store_IGBINV;
    int li_store_DIDSDVG;
    int li_store_DIDSDVS;
    int li_store_DIDSDVD;
    int li_store_DIGSDVG;
    int li_store_DIGSDVS;
    int li_store_DIGSDVD;
    int li_store_DIGDDVG;
    int li_store_DIGDDVS;
    int li_store_DIGDDVD;
    int li_store_DIIIDVG;
    int li_store_DIIIDVS;
    int li_store_DIIIDVD;
    int li_store_DIGIDLDVG;
    int li_store_DIGIDLDVS;
    int li_store_DIGIDLDVD;
    int li_store_DIGISLDVG;
    int li_store_DIGISLDVS;
    int li_store_DIGISLDVD;
    int li_store_CGT;
    int li_store_CST;
    int li_store_CDT;
    int li_store_DIDSDVTH;
    int li_store_DIGSDVTH;
    int li_store_DIGDDVTH;
    int li_store_DIIIDVTH;
    int li_store_DIGIDLDVTH;
    int li_store_DIGISLDVTH;
    int li_store_DITHDVTH;
    int li_store_ITH;
    int li_store_DITHDVG;
    int li_store_DITHDVS;
    int li_store_DITHDVD;
    int li_store_VDSAT;
    int li_store_VDS;
    int li_store_VGS;
    int li_store_VBS;
   // end store LIDs for output vars
     // bools for collapsing nodes
     bool collapseNode_si;
     bool collapseNode_di;
     bool collapseNode_ge;
     bool collapseNode_N;
 // Arrays to hold probes
 std::vector < double > probeVars;
 std::vector < std::vector < double > > d_probeVars;
 // Arrays to hold contributions
 // dynamic contributions are differentiated w.r.t time
 std::vector < double > staticContributions;
 std::vector < std::vector < double > > d_staticContributions;
 std::vector < double > dynamicContributions;
 std::vector < std::vector < double > > d_dynamicContributions;
//vectors to hold noise information for communication between methods
std::vector<double> noiseContribsPower;
std::vector<double> noiseContribsExponent;


    // this is what we'll use when any model uses $temperature.  We'll
    // set it in updateTemperature, and initialize it to whatever
    // is in devOptions when the instance is constructed.
    double admsTemperature;

    // vt at $temperature;
    double adms_vt_nom;


    // This one is for the annoying bogus "XyceADMSInstTemp" parameter
    // that we need so we can set it from the device manager when there's no
    // "TEMP" parameter to use
    double admsInstTemp;


    JacobianStamp jacStamp;
    IdVector nodeMap;
    PairMap pairToJacStampMap;

    // These instance-owned vectors are for storage of lead current data
    std::vector<double> leadCurrentF;
    std::vector<double> leadCurrentQ;

      std::vector<bool> portsConnected_;

    };



namespace AnalogFunctions
{

      // Analog Function lexp
double lexp(double x);
// Derivative of Analog Function lexp
double d_lexp(double x  , double d_x  );
// Evaluator class for Analog Function lexp
class lexpEvaluator
{
  struct returnType
  {
     double value;
     double deriv_WRT_x;
  };
public:
  // constructor takes all same arguments as regular templated function,
  // even though it doesn't USE the output args
  lexpEvaluator(double x);
  // function that returns the precomputed values.  This, too, takes
  // all the same arguments as the regular function, though it ONLY
  // uses the output arguments
  double getValues(double  x);
  // function that returns the total derivative of the function and its
  // output arguments with respect to some variable.  We pass in the
  // normal arguments(none of which are used) and the derivatives of those
  // arguments with respect to the desired variable.  We compute the
  // derivatives using the chain rule and our precomputed derivatives
  // with respect to input variables
double getDerivs(double x  , double d_x);
private:
  returnType lexpReturn_;
  returnType evaluator_(double x);
};


      // Analog Function lln
double lln(double x);
// Derivative of Analog Function lln
double d_lln(double x  , double d_x  );
// Evaluator class for Analog Function lln
class llnEvaluator
{
  struct returnType
  {
     double value;
     double deriv_WRT_x;
  };
public:
  // constructor takes all same arguments as regular templated function,
  // even though it doesn't USE the output args
  llnEvaluator(double x);
  // function that returns the precomputed values.  This, too, takes
  // all the same arguments as the regular function, though it ONLY
  // uses the output arguments
  double getValues(double  x);
  // function that returns the total derivative of the function and its
  // output arguments with respect to some variable.  We pass in the
  // normal arguments(none of which are used) and the derivatives of those
  // arguments with respect to the desired variable.  We compute the
  // derivatives using the chain rule and our precomputed derivatives
  // with respect to input variables
double getDerivs(double x  , double d_x);
private:
  returnType llnReturn_;
  returnType evaluator_(double x);
};


      // Analog Function hypsmooth
double hypsmooth(double x, double c);
// Derivative of Analog Function hypsmooth
double d_hypsmooth(double x , double c  , double d_x  , double d_c  );
// Evaluator class for Analog Function hypsmooth
class hypsmoothEvaluator
{
  struct returnType
  {
     double value;
     double deriv_WRT_x;
     double deriv_WRT_c;
  };
public:
  // constructor takes all same arguments as regular templated function,
  // even though it doesn't USE the output args
  hypsmoothEvaluator(double x, double c);
  // function that returns the precomputed values.  This, too, takes
  // all the same arguments as the regular function, though it ONLY
  // uses the output arguments
  double getValues(double  x, double  c);
  // function that returns the total derivative of the function and its
  // output arguments with respect to some variable.  We pass in the
  // normal arguments(none of which are used) and the derivatives of those
  // arguments with respect to the desired variable.  We compute the
  // derivatives using the chain rule and our precomputed derivatives
  // with respect to input variables
double getDerivs(double x , double c  , double d_x, double d_c);
private:
  returnType hypsmoothReturn_;
  returnType evaluator_(double x, double c);
};


      // Analog Function hypmax
double hypmax(double x, double xmin, double c);
// Derivative of Analog Function hypmax
double d_hypmax(double x , double xmin , double c  , double d_x  , double d_xmin  , double d_c  );
// Evaluator class for Analog Function hypmax
class hypmaxEvaluator
{
  struct returnType
  {
     double value;
     double deriv_WRT_x;
     double deriv_WRT_xmin;
     double deriv_WRT_c;
  };
public:
  // constructor takes all same arguments as regular templated function,
  // even though it doesn't USE the output args
  hypmaxEvaluator(double x, double xmin, double c);
  // function that returns the precomputed values.  This, too, takes
  // all the same arguments as the regular function, though it ONLY
  // uses the output arguments
  double getValues(double  x, double  xmin, double  c);
  // function that returns the total derivative of the function and its
  // output arguments with respect to some variable.  We pass in the
  // normal arguments(none of which are used) and the derivatives of those
  // arguments with respect to the desired variable.  We compute the
  // derivatives using the chain rule and our precomputed derivatives
  // with respect to input variables
double getDerivs(double x , double xmin , double c  , double d_x, double d_xmin, double d_c);
private:
  returnType hypmaxReturn_;
  returnType evaluator_(double x, double xmin, double c);
};


      // Analog Function Tempdep
double Tempdep(double PARAML, double PARAMT, double DELTEMP, double TEMPMOD);
// Derivative of Analog Function Tempdep
double d_Tempdep(double PARAML , double PARAMT , double DELTEMP , double TEMPMOD  , double d_PARAML  , double d_PARAMT  , double d_DELTEMP  , double d_TEMPMOD  );
// Evaluator class for Analog Function Tempdep
class TempdepEvaluator
{
  struct returnType
  {
     double value;
     double deriv_WRT_PARAML;
     double deriv_WRT_PARAMT;
     double deriv_WRT_DELTEMP;
     double deriv_WRT_TEMPMOD;
  };
public:
  // constructor takes all same arguments as regular templated function,
  // even though it doesn't USE the output args
  TempdepEvaluator(double PARAML, double PARAMT, double DELTEMP, double TEMPMOD);
  // function that returns the precomputed values.  This, too, takes
  // all the same arguments as the regular function, though it ONLY
  // uses the output arguments
  double getValues(double  PARAML, double  PARAMT, double  DELTEMP, double  TEMPMOD);
  // function that returns the total derivative of the function and its
  // output arguments with respect to some variable.  We pass in the
  // normal arguments(none of which are used) and the derivatives of those
  // arguments with respect to the desired variable.  We compute the
  // derivatives using the chain rule and our precomputed derivatives
  // with respect to input variables
double getDerivs(double PARAML , double PARAMT , double DELTEMP , double TEMPMOD  , double d_PARAML, double d_PARAMT, double d_DELTEMP, double d_TEMPMOD);
private:
  returnType TempdepReturn_;
  returnType evaluator_(double PARAML, double PARAMT, double DELTEMP, double TEMPMOD);
};

}


//-----------------------------------------------------------------------------
// Class         : Model

// Purpose       :
// Special Notes :
// Creator       :
// Creation Date :
//-----------------------------------------------------------------------------
class Model : public DeviceModel
{
    typedef std::vector<Instance *> InstanceVector;

    friend class ParametricData<Model>;
    friend class Instance;
#ifdef Xyce_ADMS_SENSITIVITIES
    friend class InstanceSensitivity;
    friend class ModelSensitivity;
#endif // Xyce_ADMS_SENSITIVITIES
    friend struct Traits;

  public:
    Model(
      const Configuration &       configuration,
      const ModelBlock &          model_block,
      const FactoryBlock &        factory_block);

    ~Model();

private:
    Model(const Model &);
    Model &operator=(const Model &);

public:
    virtual void forEachInstance(DeviceInstanceOp &op) const /* override */;
    virtual std::ostream &printOutInstances(std::ostream &os) const;
    bool processParams();
    bool processInstanceParams();

  private:

  public:
    void addInstance(Instance *instance)
    {
      instanceContainer.push_back(instance);
    }

    void setupBaseInstanceContainer()
    {
      std::vector<Instance*>::iterator iter = instanceContainer.begin();
      std::vector<Instance*>::iterator end   = instanceContainer.end();
      for ( ; iter!=end; ++iter)
      {
      Xyce::Device::DeviceModel::baseInstanceContainer.push_back( static_cast<Xyce::Device::DeviceInstance *>(*iter) );
    }
  }

  private:
    std::vector<Instance*> instanceContainer;

  private:

    // This one is for the annoying bogus "XyceADMSInstTemp" parameter
    // that we need so we can set it from the device manager when there's no
    // "TEMP" model parameter to use
    double admsModTemp;
// Begin verilog Model Variables
//   Model Parameters
    double L;
    double D;
    double TFIN;
    double FPITCH;
    int NF;
    double NFIN;
    int NGCON;
    double ASEO;
    double ADEO;
    double PSEO;
    double PDEO;
    double ASEJ;
    double ADEJ;
    double PSEJ;
    double PDEJ;
    double COVS;
    double COVD;
    double CGSP;
    double CGDP;
    double CDSP;
    double NRS;
    double NRD;
    double LRSD;
    double XL;
    double DTEMP;
    double DELVTRAND;
    double U0MULT;
    double IDS0MULT;
    int DEVTYPE;
    int TYPE;
    int BULKMOD;
    int GEOMOD;
    int CGEO1SW;
    int RDSMOD;
    int ASYMMOD;
    int IGCMOD;
    int IGBMOD;
    int GIDLMOD;
    int IIMOD;
    int TNOIMOD;
    int NQSMOD;
    int SHMOD;
    int TEMPMOD;
    int RGATEMOD;
    int RGEOMOD;
    int CGEOMOD;
    int SH_WARN;
    int IGCLAMP;
    double LINT;
    double LL;
    double LLN;
    double DLC;
    double DLCACC;
    double DLBIN;
    double LLC;
    double EOT;
    double TOXP;
    double EOTBOX;
    double HFIN;
    double FECH;
    double DELTAW;
    double FECHCV;
    double DELTAWCV;
    double NBODY;
    double NBODYN1;
    double NBODYN2;
    double NSD;
    double PHIG;
    double PHIGL;
    double PHIGLT;
    double PHIGN1;
    double PHIGN2;
    double EPSROX;
    double EPSRSUB;
    double EASUB;
    double NI0SUB;
    double BG0SUB;
    double NC0SUB;
    double NGATE;
    double Imin;
    double CIT;
    double CITR;
    double CDSC;
    double CDSCN1;
    double CDSCN2;
    double CDSCD;
    double CDSCDN1;
    double CDSCDN2;
    double CDSCDR;
    double CDSCDRN1;
    double CDSCDRN2;
    double DVT0;
    double DVT1;
    double DVT1SS;
    double PHIN;
    double ETA0;
    double ETA0N1;
    double ETA0N2;
    double ETA0LT;
    double TETA0;
    double ETA0R;
    double TETA0R;
    double DSUB;
    double DVTP0;
    double DVTP1;
    double ADVTP0;
    double BDVTP0;
    double ADVTP1;
    double BDVTP1;
    double DVTP2;
    double K1RSCE;
    double LPE0;
    double DVTSHIFT;
    double DVTSHIFTR;
    double THETASCE;
    double THETADIBL;
    double THETASW;
    double NVTM;
    double K0;
    double K01;
    double K0SI;
    double K0SI1;
    double K2SI;
    double K2SI1;
    double K0SISAT;
    double K0SISAT1;
    double K2SISAT;
    double K2SISAT1;
    double PHIBE;
    double K1;
    double K11;
    double K2SAT;
    double K2SAT1;
    double K2;
    double K21;
    double QMFACTOR;
    double QMTCENCV;
    double QMTCENCVA;
    double AQMTCEN;
    double BQMTCEN;
    double ETAQM;
    double QM0;
    double PQM;
    double QM0ACC;
    double PQMACC;
    double VSAT;
    double VSATR;
    double VSATN1;
    double VSATN2;
    double VSATRN1;
    double VSATRN2;
    double AVSAT;
    double BVSAT;
    double VSAT1;
    double VSAT1N1;
    double VSAT1N2;
    double VSAT1R;
    double VSAT1RN1;
    double VSAT1RN2;
    double AVSAT1;
    double BVSAT1;
    double DELTAVSAT;
    double PSAT;
    double APSAT;
    double BPSAT;
    double KSATIV;
    double KSATIVR;
    double VSATCV;
    double AVSATCV;
    double BVSATCV;
    double DELTAVSATCV;
    double PSATCV;
    double APSATCV;
    double BPSATCV;
    double MEXP;
    double AMEXP;
    double BMEXP;
    double MEXPR;
    double AMEXPR;
    double BMEXPR;
    double PTWG;
    double PTWGR;
    double APTWG;
    double BPTWG;
    double AT;
    double ATR;
    double ATCV;
    double TMEXP;
    double TMEXPR;
    double PTWGT;
    double U0;
    double U0R;
    double U0N1;
    double U0N1R;
    double U0N2;
    double U0N2R;
    double U0LT;
    double ETAMOB;
    double UP;
    double LPA;
    double UPR;
    double LPAR;
    double UA;
    double UAR;
    double AUA;
    double AUAR;
    double BUA;
    double BUAR;
    double UC;
    double UCR;
    double EU;
    double EUR;
    double AEU;
    double AEUR;
    double BEU;
    double BEUR;
    double UD;
    double UDR;
    double AUD;
    double AUDR;
    double BUD;
    double BUDR;
    double UCS;
    double UTE;
    double UTER;
    double UTL;
    double UTLR;
    double EMOBT;
    double UA1;
    double UA1R;
    double UC1;
    double UC1R;
    double UD1;
    double UD1R;
    double UCSTE;
    double CHARGEWF;
    double RDSWMIN;
    double RDSW;
    double ARDSW;
    double BRDSW;
    double RSWMIN;
    double RSW;
    double ARSW;
    double BRSW;
    double RDWMIN;
    double RDW;
    double ARDW;
    double BRDW;
    double RSDR;
    double RSDRR;
    double RDDR;
    double RDDRR;
    double PRSDR;
    double PRDDR;
    double PRWGS;
    double PRWGD;
    double WR;
    double PRT;
    double TRSDR;
    double TRDDR;
    double PDIBL1;
    double PDIBL1R;
    double PDIBL2;
    double PDIBL2R;
    double DROUT;
    double PVAG;
    double PCLM;
    double PCLMR;
    double APCLM;
    double APCLMR;
    double BPCLM;
    double BPCLMR;
    double PCLMG;
    double PCLMCV;
    double A1;
    double A11;
    double A2;
    double A21;
    double RGEXT;
    double RGFIN;
    double RSHS;
    double RSHD;
    double HEPI;
    double TSILI;
    double RHOC;
    double RHORSD;
    double CRATIO;
    double DELTAPRSD;
    int SDTERM;
    double LSP;
    double EPSRSP;
    double TGATE;
    double TMASK;
    double ASILIEND;
    double ARSDEND;
    double PRSDEND;
    double NSDE;
    double RGEOA;
    double RGEOB;
    double RGEOC;
    double RGEOD;
    double RGEOE;
    double CGEOA;
    double CGEOB;
    double CGEOC;
    double CGEOD;
    double CGEOE;
    double AIGBINV;
    double AIGBINV1;
    double BIGBINV;
    double CIGBINV;
    double EIGBINV;
    double NIGBINV;
    double AIGBACC;
    double AIGBACC1;
    double BIGBACC;
    double CIGBACC;
    double NIGBACC;
    double AIGC;
    double AIGC1;
    double BIGC;
    double CIGC;
    double PIGCD;
    double DLCIGS;
    double AIGS;
    double AIGS1;
    double BIGS;
    double CIGS;
    double DLCIGD;
    double AIGD;
    double AIGD1;
    double BIGD;
    double CIGD;
    double VFBSD;
    double VFBSDCV;
    double TOXREF;
    double TOXG;
    double NTOX;
    double POXEDGE;
    double AGISL;
    double BGISL;
    double CGISL;
    double EGISL;
    double PGISL;
    double AGIDL;
    double BGIDL;
    double CGIDL;
    double EGIDL;
    double PGIDL;
    double ALPHA0;
    double ALPHA01;
    double ALPHA1;
    double ALPHA11;
    double BETA0;
    double ALPHAII0;
    double ALPHAII01;
    double ALPHAII1;
    double ALPHAII11;
    double BETAII0;
    double BETAII1;
    double BETAII2;
    double ESATII;
    double LII;
    double SII0;
    double SII1;
    double SII2;
    double SIID;
    double IIMOD2CLAMP1;
    double IIMOD2CLAMP2;
    double IIMOD2CLAMP3;
    double EOTACC;
    double DELVFBACC;
    double CFS;
    double CFD;
    double CGSO;
    double CGDO;
    double CGSL;
    double CGDL;
    double CKAPPAS;
    double CKAPPAD;
    double CGBO;
    double CGBN;
    double CGBL;
    double CKAPPAB;
    double CSDESW;
    double CJS;
    double CJD;
    double CJSWS;
    double CJSWD;
    double CJSWGS;
    double CJSWGD;
    double PBS;
    double PBD;
    double PBSWS;
    double PBSWD;
    double PBSWGS;
    double PBSWGD;
    double MJS;
    double MJD;
    double MJSWS;
    double MJSWD;
    double MJSWGS;
    double MJSWGD;
    double SJS;
    double SJD;
    double SJSWS;
    double SJSWD;
    double SJSWGS;
    double SJSWGD;
    double MJS2;
    double MJD2;
    double MJSWS2;
    double MJSWD2;
    double MJSWGS2;
    double MJSWGD2;
    double JSS;
    double JSD;
    double JSWS;
    double JSWD;
    double JSWGS;
    double JSWGD;
    double NJS;
    double NJD;
    double IJTHSFWD;
    double IJTHDFWD;
    double IJTHSREV;
    double IJTHDREV;
    double BVS;
    double BVD;
    double XJBVS;
    double XJBVD;
    double JTSS;
    double JTSD;
    double JTSSWS;
    double JTSSWD;
    double JTSSWGS;
    double JTSSWGD;
    double JTWEFF;
    double NJTS;
    double NJTSD;
    double NJTSSW;
    double NJTSSWD;
    double NJTSSWG;
    double NJTSSWGD;
    double VTSS;
    double VTSD;
    double VTSSWS;
    double VTSSWD;
    double VTSSWGS;
    double VTSSWGD;
    double LINTIGEN;
    double NTGEN;
    double AIGEN;
    double BIGEN;
    double XRCRG1;
    double XRCRG2;
    int NSEG;
    double EF;
    double EM;
    double NOIA;
    double NOIB;
    double NOIC;
    double LINTNOI;
    double NTNOI;
    double TNOIA;
    double TNOIB;
    double RNOIA;
    double RNOIB;
    double TNOIC;
    double RNOIC;
    double SCALEN;
    double TNOM;
    double TBGASUB;
    double TBGBSUB;
    double KT1;
    double KT1L;
    double TSS;
    double IIT;
    double TII;
    double TGIDL;
    double IGT;
    double TCJ;
    double TCJSW;
    double TCJSWG;
    double TPB;
    double TPBSW;
    double TPBSWG;
    double XTIS;
    double XTID;
    double XTSS;
    double XTSD;
    double XTSSWS;
    double XTSSWD;
    double XTSSWGS;
    double XTSSWGD;
    double TNJTS;
    double TNJTSD;
    double TNJTSSW;
    double TNJTSSWD;
    double TNJTSSWG;
    double TNJTSSWGD;
    double RTH0;
    double CTH0;
    double WTH0;
    double ASHEXP;
    double BSHEXP;
    double ACH_UFCM;
    double CINS_UFCM;
    double W_UFCM;
    double TFIN_TOP;
    double TFIN_BASE;
    double QMFACTORCV;
    double ALPHA_UFCM;
    double LMIN;
    double WMIN;
    double LMAX;
    double WMAX;
    double LNBODY;
    double NNBODY;
    double PNBODY;
    double LPHIG;
    double NPHIG;
    double PPHIG;
    double LNGATE;
    double NNGATE;
    double PNGATE;
    double LCIT;
    double NCIT;
    double PCIT;
    double LCITR;
    double NCITR;
    double PCITR;
    double LCDSC;
    double NCDSC;
    double PCDSC;
    double LCDSCD;
    double NCDSCD;
    double PCDSCD;
    double LCDSCDR;
    double NCDSCDR;
    double PCDSCDR;
    double LDVT0;
    double NDVT0;
    double PDVT0;
    double LDVT1;
    double NDVT1;
    double PDVT1;
    double LDVT1SS;
    double NDVT1SS;
    double PDVT1SS;
    double LPHIN;
    double NPHIN;
    double PPHIN;
    double LETA0;
    double NETA0;
    double PETA0;
    double LETA0R;
    double NETA0R;
    double PETA0R;
    double LDSUB;
    double NDSUB;
    double PDSUB;
    double LK1RSCE;
    double NK1RSCE;
    double PK1RSCE;
    double LLPE0;
    double NLPE0;
    double PLPE0;
    double LDVTSHIFT;
    double NDVTSHIFT;
    double PDVTSHIFT;
    double LDVTSHIFTR;
    double NDVTSHIFTR;
    double PDVTSHIFTR;
    double LPHIBE;
    double NPHIBE;
    double PPHIBE;
    double LK0;
    double NK0;
    double PK0;
    double LK01;
    double NK01;
    double PK01;
    double LK0SI;
    double NK0SI;
    double PK0SI;
    double LK0SI1;
    double NK0SI1;
    double PK0SI1;
    double LK1;
    double NK1;
    double PK1;
    double LK11;
    double NK11;
    double PK11;
    double LK2SI;
    double NK2SI;
    double PK2SI;
    double LK2SI1;
    double NK2SI1;
    double PK2SI1;
    double LK0SISAT;
    double NK0SISAT;
    double PK0SISAT;
    double LK0SISAT1;
    double NK0SISAT1;
    double PK0SISAT1;
    double LK2SISAT;
    double NK2SISAT;
    double PK2SISAT;
    double LK2SISAT1;
    double NK2SISAT1;
    double PK2SISAT1;
    double LK2SAT;
    double NK2SAT;
    double PK2SAT;
    double LK2SAT1;
    double NK2SAT1;
    double PK2SAT1;
    double LK2;
    double NK2;
    double PK2;
    double LK21;
    double NK21;
    double PK21;
    double LDVTB;
    double NDVTB;
    double PDVTB;
    double LLPEB;
    double NLPEB;
    double PLPEB;
    double LQMFACTOR;
    double NQMFACTOR;
    double PQMFACTOR;
    double LQMTCENCV;
    double NQMTCENCV;
    double PQMTCENCV;
    double LQMTCENCVA;
    double NQMTCENCVA;
    double PQMTCENCVA;
    double LVSAT;
    double NVSAT;
    double PVSAT;
    double LVSATR;
    double NVSATR;
    double PVSATR;
    double LVSAT1;
    double NVSAT1;
    double PVSAT1;
    double LVSAT1R;
    double NVSAT1R;
    double PVSAT1R;
    double LPSAT;
    double NPSAT;
    double PPSAT;
    double LDELTAVSAT;
    double NDELTAVSAT;
    double PDELTAVSAT;
    double LKSATIV;
    double NKSATIV;
    double PKSATIV;
    double LKSATIVR;
    double NKSATIVR;
    double PKSATIVR;
    double LVSATCV;
    double NVSATCV;
    double PVSATCV;
    double LPSATCV;
    double NPSATCV;
    double PPSATCV;
    double LDELTAVSATCV;
    double NDELTAVSATCV;
    double PDELTAVSATCV;
    double LMEXP;
    double NMEXP;
    double PMEXP;
    double LMEXPR;
    double NMEXPR;
    double PMEXPR;
    double LPTWG;
    double NPTWG;
    double PPTWG;
    double LPTWGR;
    double NPTWGR;
    double PPTWGR;
    double LU0;
    double NU0;
    double PU0;
    double LU0R;
    double NU0R;
    double PU0R;
    double LETAMOB;
    double NETAMOB;
    double PETAMOB;
    double LUP;
    double NUP;
    double PUP;
    double LUPR;
    double NUPR;
    double PUPR;
    double LUA;
    double NUA;
    double PUA;
    double LUAR;
    double NUAR;
    double PUAR;
    double LUC;
    double NUC;
    double PUC;
    double LUCR;
    double NUCR;
    double PUCR;
    double LEU;
    double NEU;
    double PEU;
    double LEUR;
    double NEUR;
    double PEUR;
    double LUD;
    double NUD;
    double PUD;
    double LUDR;
    double NUDR;
    double PUDR;
    double LUCS;
    double NUCS;
    double PUCS;
    double LPCLM;
    double NPCLM;
    double PPCLM;
    double LPCLMR;
    double NPCLMR;
    double PPCLMR;
    double LPCLMG;
    double NPCLMG;
    double PPCLMG;
    double LPCLMCV;
    double NPCLMCV;
    double PPCLMCV;
    double LA1;
    double NA1;
    double PA1;
    double LA11;
    double NA11;
    double PA11;
    double LA2;
    double NA2;
    double PA2;
    double LA21;
    double NA21;
    double PA21;
    double LRDSW;
    double NRDSW;
    double PRDSW;
    double LRSW;
    double NRSW;
    double PRSW;
    double LRDW;
    double NRDW;
    double PRDW;
    double LPRWGS;
    double NPRWGS;
    double PPRWGS;
    double LPRWGD;
    double NPRWGD;
    double PPRWGD;
    double LWR;
    double NWR;
    double PWR;
    double LPDIBL1;
    double NPDIBL1;
    double PPDIBL1;
    double LPDIBL1R;
    double NPDIBL1R;
    double PPDIBL1R;
    double LPDIBL2;
    double NPDIBL2;
    double PPDIBL2;
    double LPDIBL2R;
    double NPDIBL2R;
    double PPDIBL2R;
    double LDROUT;
    double NDROUT;
    double PDROUT;
    double LPVAG;
    double NPVAG;
    double PPVAG;
    double LAIGBINV;
    double NAIGBINV;
    double PAIGBINV;
    double LAIGBINV1;
    double NAIGBINV1;
    double PAIGBINV1;
    double LBIGBINV;
    double NBIGBINV;
    double PBIGBINV;
    double LCIGBINV;
    double NCIGBINV;
    double PCIGBINV;
    double LEIGBINV;
    double NEIGBINV;
    double PEIGBINV;
    double LNIGBINV;
    double NNIGBINV;
    double PNIGBINV;
    double LAIGBACC;
    double NAIGBACC;
    double PAIGBACC;
    double LAIGBACC1;
    double NAIGBACC1;
    double PAIGBACC1;
    double LBIGBACC;
    double NBIGBACC;
    double PBIGBACC;
    double LCIGBACC;
    double NCIGBACC;
    double PCIGBACC;
    double LNIGBACC;
    double NNIGBACC;
    double PNIGBACC;
    double LAIGC;
    double NAIGC;
    double PAIGC;
    double LAIGC1;
    double NAIGC1;
    double PAIGC1;
    double LBIGC;
    double NBIGC;
    double PBIGC;
    double LCIGC;
    double NCIGC;
    double PCIGC;
    double LPIGCD;
    double NPIGCD;
    double PPIGCD;
    double LAIGS;
    double NAIGS;
    double PAIGS;
    double LAIGS1;
    double NAIGS1;
    double PAIGS1;
    double LBIGS;
    double NBIGS;
    double PBIGS;
    double LCIGS;
    double NCIGS;
    double PCIGS;
    double LAIGD;
    double NAIGD;
    double PAIGD;
    double LAIGD1;
    double NAIGD1;
    double PAIGD1;
    double LBIGD;
    double NBIGD;
    double PBIGD;
    double LCIGD;
    double NCIGD;
    double PCIGD;
    double LNTOX;
    double NNTOX;
    double PNTOX;
    double LPOXEDGE;
    double NPOXEDGE;
    double PPOXEDGE;
    double LAGISL;
    double NAGISL;
    double PAGISL;
    double LBGISL;
    double NBGISL;
    double PBGISL;
    double LCGISL;
    double NCGISL;
    double PCGISL;
    double LEGISL;
    double NEGISL;
    double PEGISL;
    double LPGISL;
    double NPGISL;
    double PPGISL;
    double LAGIDL;
    double NAGIDL;
    double PAGIDL;
    double LBGIDL;
    double NBGIDL;
    double PBGIDL;
    double LCGIDL;
    double NCGIDL;
    double PCGIDL;
    double LEGIDL;
    double NEGIDL;
    double PEGIDL;
    double LPGIDL;
    double NPGIDL;
    double PPGIDL;
    double LALPHA0;
    double NALPHA0;
    double PALPHA0;
    double LALPHA1;
    double NALPHA1;
    double PALPHA1;
    double LALPHAII0;
    double NALPHAII0;
    double PALPHAII0;
    double LALPHAII1;
    double NALPHAII1;
    double PALPHAII1;
    double LBETA0;
    double NBETA0;
    double PBETA0;
    double LBETAII0;
    double NBETAII0;
    double PBETAII0;
    double LBETAII1;
    double NBETAII1;
    double PBETAII1;
    double LBETAII2;
    double NBETAII2;
    double PBETAII2;
    double LESATII;
    double NESATII;
    double PESATII;
    double LLII;
    double NLII;
    double PLII;
    double LSII0;
    double NSII0;
    double PSII0;
    double LSII1;
    double NSII1;
    double PSII1;
    double LSII2;
    double NSII2;
    double PSII2;
    double LSIID;
    double NSIID;
    double PSIID;
    double LCFS;
    double NCFS;
    double PCFS;
    double LCFD;
    double NCFD;
    double PCFD;
    double LCOVS;
    double NCOVS;
    double PCOVS;
    double LCOVD;
    double NCOVD;
    double PCOVD;
    double LCGSL;
    double NCGSL;
    double PCGSL;
    double LCGDL;
    double NCGDL;
    double PCGDL;
    double LCKAPPAS;
    double NCKAPPAS;
    double PCKAPPAS;
    double LCKAPPAD;
    double NCKAPPAD;
    double PCKAPPAD;
    double LCGBL;
    double NCGBL;
    double PCGBL;
    double LCKAPPAB;
    double NCKAPPAB;
    double PCKAPPAB;
    double LNTGEN;
    double NNTGEN;
    double PNTGEN;
    double LAIGEN;
    double NAIGEN;
    double PAIGEN;
    double LBIGEN;
    double NBIGEN;
    double PBIGEN;
    double LXRCRG1;
    double NXRCRG1;
    double PXRCRG1;
    double LXRCRG2;
    double NXRCRG2;
    double PXRCRG2;
    double LUTE;
    double NUTE;
    double PUTE;
    double LUTER;
    double NUTER;
    double PUTER;
    double LUTL;
    double NUTL;
    double PUTL;
    double LUTLR;
    double NUTLR;
    double PUTLR;
    double LEMOBT;
    double NEMOBT;
    double PEMOBT;
    double LUA1;
    double NUA1;
    double PUA1;
    double LUA1R;
    double NUA1R;
    double PUA1R;
    double LUC1;
    double NUC1;
    double PUC1;
    double LUC1R;
    double NUC1R;
    double PUC1R;
    double LUD1;
    double NUD1;
    double PUD1;
    double LUD1R;
    double NUD1R;
    double PUD1R;
    double LUCSTE;
    double NUCSTE;
    double PUCSTE;
    double LPTWGT;
    double NPTWGT;
    double PPTWGT;
    double LAT;
    double NAT;
    double PAT;
    double LATR;
    double NATR;
    double PATR;
    double LATCV;
    double NATCV;
    double PATCV;
    double LSTTHETASAT;
    double NSTTHETASAT;
    double PSTTHETASAT;
    double LPRT;
    double NPRT;
    double PPRT;
    double LKT1;
    double NKT1;
    double PKT1;
    double LTSS;
    double NTSS;
    double PTSS;
    double LIIT;
    double NIIT;
    double PIIT;
    double LTII;
    double NTII;
    double PTII;
    double LTGIDL;
    double NTGIDL;
    double PTGIDL;
    double LIGT;
    double NIGT;
    double PIGT;
    //  Variables of global_model scope
    // end verilog model variables=====
};

void registerDevice(const DeviceCountMap& deviceMap = DeviceCountMap(),
                    const std::set<int>& levelSet = std::set<int>());

} // namespace ADMSbsimcmg_110
} // namespace Device
} // namespace Xyce
#endif //Xyce_N_DEV_ADMSbsimcmg_110_h
